草庐IT

grouped_collection_select

全部标签

mysql - SELECT DISTINCT + 来自两列的匹配值 = "unique"

我知道标题措辞不佳,但我想不出更好的表达方式。我正在学习Ruby并在MySQL上刷新。我使用已完成航类的历史列表作为练习数据集,大约有100,000行可供使用。每条航类记录包括始发地和目的地机场(字段“origin”和“dest”),以及总飞行距离(字段“distance”)。作为练习,我想展示按距离降序排列的10条最长路线。但是,我想将每对端点视为一条路线,而不管哪个是起点,哪个是目的地。因此,例如JFK-LAX和LAX-JFK应被视为单一路线。当我运行查询时:SELECTDISTINCTdistance,origin,destFROMflightsORDERBYdistanceDE

php - SQL事务和表SELECT LOCK说明

我有一个关于在线交易的问题,想用SELECT和UPDATE查询澄清以下问题。我将使用下面的示例向您解释这一点。X正在进行在线交易。他的账户余额是1000美元。他打算购买200美元的商品,之后他的帐户余额应该是800美元。那也行;现在让我进一步说明这一点BeginDBtransaction.Step1:accountbalanceis$1000{Selectthebalancefromadifferentscript}Step2:Buysomethingfor$200{Selectthebalancefromanotherscript}Step3:Remainingbalance$800

MYSQL IF SELECT COUNT() 大于零 select * from table else return nothing found

我正在寻找一种方法来进行如下查询:MySQL:示例:IFSELECTCOUNT(column_XX)WHEREcolumn_XX=value_XXFROMtable_XX大于零(0)然后SELECT一切或SELECT*FROMthattable_XXWHEREcolumn_XX=value_XX和返回所有数据...否则返回“未找到”或仅返回零(0)简单来说,如果列中的所有值都大于零,我想从表列中选择所有数据,否则仅选择值>=1并返回所有值。这里可以应用哪个魔法来在单个查询中完成它?...我真的卡住了,谢谢。 最佳答案 你可以这样尝试

MySQL group_concat 和计数

我试图在单个查询中获取每个类别的方面,如下所示:SELECTb.`id`ASparent_id,b.`name`ASparent_name,a.`id`ASchild_id,a.`name`ASchild_name,a.`pageid`ASt_id,COUNT(c.`id`)ASdeals_in_cat,d.`aspect_values`ASaspectsFROM`category_parent`ASaLEFTJOIN`navigation_filters_weightage`ASdONa.`id`=d.`cat_id`,`deals_parent_cat`ASb,`deals`ASc

mysql - Ruby on Rails 查询 : Joining tables and selecting multiple columns

有两种模式:微博和用户“微博”包含4列:name、type、user_id和id"users"包含4列:name、type、address和id微博属于用户;users包含很多微博。我想知道每个用户有多少微博,但由于某种原因,我无法使查询正常工作。我试过的查询是:User.joins(:microposts).group("users.id").select("users.*,count(microposts.id)aspostcount")这只是从users表中拉取属性,但排除了微博表中的列,也排除了我创建的count列。出于某种原因,User.joins(:microposts).

php - MySQL @grouping results by ID and sorting them by score”问题

我设置了以下数据库格式:idfidnametimeflag1224Mike11232555John9853224Mike10104121Ann8015224Mike5576121Ann1504我使用以下查询按fid(或名称)对它们进行排序和显示,并按最短时间对它们进行排序:SELECTid,fid,name,MIN(time),flagFROMdblistGROUPBYnameORDERBYMIN(time)这很好用,因为我按我想要的顺序得到了输出。像这样的东西:nametimeMike55Ann80John98但是,如果我尝试显示与该特定时间记录关联的fid、flag或任何其他字段,

MySQL INSERT INTO ... SELECT 或默认值

我正在处理以下查询:INSERTINTOa(id,value)VALUES(_id,(SELECTvalueFROMbWHEREb.id=_id));表a:id、value(有默认值)表b:id,值表b不包含所有请求的值。所以SELECT查询有时会返回0行。在这种情况下,它应该使用a.value的默认值。这有可能吗?编辑:标记为已解决的帖子评论中出现空栏的解决方法。 最佳答案 您可以将值包装在coalesce(max(value),default_value)INSERTINTOa(id,value)VALUES(_id,(SELE

mysql - SQL 在每个 SELECT 请求中获取 ROW_NUMBER 和 COUNT

我正在构建一个网格机制,我需要从数据库中检索数据(总计或找到的记录),只检索这些记录的范围,其中包含一个row_number。我使用SqlServer进行测试,但我也需要在Oracle和MySql上支持它。这就是我正在尝试的,但我无法让它工作:SELECT*FROM(SELECTROW_NUMBER()ASRN,COUNT(*)ASTOTALCN,Id,Name,PhoneFROMMyTableWHEREDeleted='F')WHERERN>100ANDRN思路是:MyTable->numberofrecords:1000SelectId,Name,PhonefromMyTablew

php - "SELECT"命令的准备语句失败,在 PHP 中使用 mysqli

我已经能够使用mysqli(在PHP中)执行多个准备好的语句。但是,由于某种原因,当我尝试运行“SELECT”命令时,准备好的语句总是遇到错误。例如,以下行将成功:$stmt=$mysqli->prepare("UPDATEeventsSETcategory='m'WHEREid=(?)");但是,以下行将失败:$stmt=$mysqli->prepare("SELECT*FROMeventsWHEREid=(?)");当我说失败时,我的意思是接下来的三行将为UPDATE命令返回1(表示更改了一行)...$stmt->bind_param('i',$id);$stmt->execute

php - MySQL EAV SELECT 一对多单行结果

我在这里看到过类似的问题,但没能找到符合我的具体情况的问题。我有以下三个表:contentid,[otherfields]attributesid,titleattributes_valuesid,attribute_id[foreigntoattributes.id],content_id[foreigntocontent.id],value我想要的是可以返回适当数据的单个查询(或一组子查询),以避免在编程中对其进行操作。有关表格的更多信息:属性具有三个记录(型号编号、零件编号和在购物车中显示)。我需要从内容中选择购物车中显示的attribute_value=1的所有记录。与此同时,