草庐IT

GROUP_BY

全部标签

mysql - 为什么使用 GROUP BY 的 SQL 查询会产生更多的行?

我有下表:+------+-------+--------------------------------------+|id|rev|content|+------+-------+--------------------------------------+|1|1|...||2|1|...||1|2|...||1|3|...|+------+-------+--------------------------------------+当我运行以下查询时:SELECTid,MAX(rev)maxrev,contentFROMYourTableGROUPBYid;我得到:+-----

mysql - UNION vs GROUP BY 或更好的解决方案

我有这样一种情况,我在数据库表中有数十万行,假设有8列,其中前两列索引(每列两个索引,两列一个复合索引),我有两个带有groupby和union的SQL查询:SELECTMIN(columnOne),columnTwoFROMMyTableWHEREcolumnTwoIN(1,2,3)GROUPBYcolumnTwo和SELECTMIN(columnOne),columnTwoFROMMyTableWHEREcolumnTwo=1UNIONSELECTMIN(columnOne),columnTwoFROMMyTableWHEREcolumnTwo=2UNIONSELECTMIN(co

mysql - SQL Group_concat 未获取所有数据

我有2张表和第二张表的使用关系table1idname---------1alpha2betatable2idnamerelation-------------------120152220162320172420182我想看看namedata-------------------------beta2015,2016,2017,2018alphaNULL我尝试了以下sql查询,但输出不是我想要的我使用:SELECTt1.name,GROUP_CONCAT(t2.nameSEPARATOR',')FROMtable1ASt1LEFTJOINtable2ASt2ONt2.relation

MySQL 错误代码 : #1111 - Invalid use of group function

这个问题在这里已经有了答案:ERROR1111(HY000):Invaliduseofgroupfunction(1个回答)关闭5年前。我正在尝试编写一个mysql查询来选择至少两个或多个相同的用户订阅。这是查询:SELECTa.*FROM`subscription`a,userbWHEREb.id=a.user_idandcount(a.user_id)>1groupbya.id谁能告诉我我做错了什么?

mysql - ORDER BY datetime 但将具有相同 TITLE 的记录放在彼此之上

我有这样的tabletest+---------------------+-------+|date_in|title|+---------------------+-------+|2018-01-0100:00:00|foo||2018-01-0200:00:00|bar||2018-01-0300:00:00|man||2018-01-0400:00:00|foo||2018-01-0500:00:00|test|+---------------------+-------+我想要的结果是+---------------------+-------+|date_in|title|

MYSQL Group by 和 Group Concat 问题

如何使用Groupby和Group_concat通过1个SQL查询实现以下两种情况?对于情况1,即使设备1,2和3,4的组ID不同,输出设备ID仍应串联,因为组1和组2的名称和平台相同。CASE1Table:SMARTPHONE==========================================GROUP_IDDEVICE_IDNAMEPLATFORM11LGANDROID12APPLEIOS23LGANDROID24APPLEIOSDesiredOutputROWDEVICE_ID01,2,3,4对于情况2,由于组2中的其中一个名称值与组1不同(即设备3,Samsug

java - 为 Jpa 存储库设置 sql_mode=(SELECT REPLACE(@@sql_mode ,'ONLY_FULL_GROUP_BY' ,'' ))

我正在尝试使用这样的自定义查询:@Query("SELECTi"+"FROMManagerWorkplacei"+"WHEREi.managerId=?1"+"ANDi.companyId=?2"+"GROUPBYi.zoneId")ListfindByManagerIdAndCompanyId(LongmanagerID,LongcompanyId);但是我得到了这个错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Expression#1ofSELECTlistisnotinGROUPBYclauseandco

MySQL 没有有效地使用索引进行 ORDER BY 查询

我有一个简单的消息表,有2个索引:mysql>showkeysfromMessage;+---------+------------+-----------+--------------+----------------+-----------+-------------+----------+--------+------+------------+---------+|Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation|Cardinality|Sub_part|Packed|Null|Index_type|Com

mysql - SQL中的查询设计-满足特定条件的行中字段的ORDER BY SUM()

好的,所以我有两个正在使用的表-project和service,简化如下:project-------idPKnamestrservice-------project_idFKforprojecttime_startint(timestamp)time_stopint(timestamp)一对多关系。现在,我想返回(最好使用一个查询)任意数量项目的列表,按花费在这些项目上的总时间排序,可通过SUM(time_stop)-SUM(time_start)WHEREproject_id=something.到目前为止,我有SELECTproject.nameFROMserviceLEFTJO

mysql - 将 DESC 和 ASC 与 Group By 一起使用

这是我的sql语句SELECTDISTINCTarticle_categories.category_id,article_id,article_title,article_intro,article_content,category_name_arFROMarticles,article_categoriesWHEREarticles.category_id=article_categories.category_idANDarticle_type='admin'ANDcategory_case='active'GROUPBYarticle_categories.category_i