草庐IT

join_group

全部标签

mysql - MariaDB GROUP_CONCAT 只返回一个值

在我的实例中,我遇到了GROUP_CONCAT函数的一个奇怪问题,使用它来将整数组合在一起工作得很好,但将它应用于varchar根本不起作用。数据如下:CUSTOMERIDLOCATIONNAMEPRODUCTIDUNITSIDPRODUCTNAME1Location651001Product651Location661002Product661Location671003Product671Location681004Product681Location681005Product68当我运行时:SELECTGROUP_CONCAT(DISTINCTlm.ProductID)asBra

Mysql group post_id 按最大计数状态

你好,我有一个mysql查询,它会根据状态的最大计数返回post_id,它当前显示的结果是POST_ID3Mysql表:(`post_id`,`user_id`,`status`,`date_created`)(2,2,'funny',20121022120627)(2,3,'lame',20121023120627)(3,1,'useful',20121023120627)(3,3,'lame',20121023120627)(3,4,'useful',20121023120627)(4,4,'useful',20121024120627)但我需要的结果是,按desc顺序显示从最大到

mysql - 有条件地对不同的列进行 GROUP BY

我想显示聊天消息列表。为此,我有一个SELECT语句:SELECTid,`from`,sent,message,recdFROMchatWHEREidIN(SELECTMAX(id)FROMchatWHERE`to`=?GROUPBY`from`)ORDERBYidDESC问题是,我想有条件地选择to=maria和from=maria的消息。也就是说,如果to=maria我想按from分组,如果from=maria,我想按到。如何动态更改此GROUPBY? 最佳答案 我会得到一个UNION。(SELECTid,'from'asdir

mysql - 如何使用 LEFT OUTER JOIN 来识别供应商缺少的产品?

这个查询很有趣,但我已经到了需要帮助的地方。我有几个表,最终的问题是:供应商总共“缺少”多少个零件?和/或按供应商和类别,总共“缺少”多少个零件?缺失:供应商未使用(参见查询1)。请注意,零件不属于产品或供应商,因为这两者都可能根据季节发生变化,而且通常零件会激发产品的实际外观。基本上,每个供应商要注意的部分是我们试图在高层次上回答的问题,以确定哪些供应商在哪些类别中缺失的部分最多?现在,我确实有了我需要的第一个查询,效果很好。它的作用是在我指定特定供应商时按类别告诉我缺少的部分。这是数据库创建脚本和工作查询的SQLfiddle:查询1:http://sqlfiddle.com/#!9

mysql - GROUP_CONCAT 和长文本

我需要将MySQL数据库表中的两个文本字段合并为一个,因此我使用了以下SQL脚本来完成。表:tbl_newsitemsCombine:需要将'ni_text'中的文本与相同的'news_id'组合起来表格布局:用于合并文本的代码:选择news_id,GROUP_CONCAT(ni_text分隔器'')从tbl_newsitemsGROUPBYnews_id;但它不会在结果部分显示完整(完整)文本。CONCAT字段被修剪并缺少一些文本。CONCAT字段的默认数据类型是TEXT(1024)结果:那么如何在不删除内容的情况下将整个文本合并到一个字段中。请给我执行此操作的脚本。谢谢

mysql - SQL Join,包括表 a 中的行,但表 b 中没有匹配项

SELECTorders.*FROMordersJOINorder_rowsONorders.id=order_rows.order_idWHEREorder_rows.quantorder_rows.quant_fulfilledGROUPBYorders.idORDERBYorders.idDESC我需要它来包含没有相应order_row条目的行(这将是一个还没有项目的订单)。似乎必须有一种方法可以通过添加到ON或WHERE子句来做到这一点?在给定时间只会有几个空订单,所以如果最佳答案会显着降低性能,我会使用单独的查询。但我希望将它们包含在此查询中,以便它们与其余部分一起按orde

mysql - 适用于 where group-by plus 和 order-by 的索引

我有使用order-bygroup-by的查询selectcount(*),filed2fromtable1wherefield1>xgroupbyfiled2orderbycount(*)desc此查询的最佳索引是什么。我应该单独或一起索引filed1,field2? 最佳答案 您应该以两种不同的顺序为两列创建索引ALTERTABLEtable1ADDINDEXfield1_field2_ndx(field1,field2);ALTERTABLEtable1ADDINDEXfield2_field1_ndx(field2,fiel

mysql - 将 LIMIT 应用于 SQL INNER JOIN 查询

这个问题在这里已经有了答案:UsingLIMITwithinGROUPBYtogetNresultspergroup?(14个答案)关闭7年前。我有以下表格:类别id(int)10001001书id(int)category(int)rating(float)300010005.0300110004.8300210003.0300310004.9300410014.9300510013.0我想要做的是从每个类别中取出3本评价最高的书。环顾四周并按照LIMITinganSQLJOIN给出的答案进行操作后,我试过这个查询。SELECT*FROMbook,categoryWHEREbook.

Mysql Left join with One row

我有三个表驱动程序driver_id|driver_name|driver_number----------------------------------------1|Driver1|999992|Driver2|88888每个司机都有轮类shift_id|start_time|end_time|driver_id-----------------------------------------------------------------4|2015-04-0210:09:00|(NULL)|13|2015-04-0209:19:00|(NULL)|22|2015-04-021

mysql - SQL JOIN 给出双重结果

我的数据库和SQL:http://sqlfiddle.com/#!9/ebddb/1/0问题:当notchtype-table中的记录少于7条时,它返回重复项,name-column中的数据错误我的问题:为什么它返回重复项以及如何防止它?预期结果:这个fiddle显示了预期的结果:http://sqlfiddle.com/#!9/22660/1在这个结果中,唯一比我的实际数据库和SQL添加的更多的是notchtype-table中的2条记录因此id、notchid和number列在返回的行中应该是唯一的。PiyushGupta的回答中的屏幕截图显示了正确的预期结果。SQLfiddle上