mysql中 group by 如何显示其他字段内容

有时候,在mysql里面用group by获取分组的相关信息,还需要显示出分组信息以外的其他字段内容,但默认是不行的,因为group by 里面显示的要么是分组字段,要么是统计信息,其他都为非法!
那么,这样做:

SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, ‘ONLY_FULL_GROUP_BY’,’’));

如:SELECT MIN(count),subclass,class,id,name,filename FROM games WHERE subclass IN (‘zz’,‘hh’,‘yinyue’,‘kepu’,‘py’,‘ls’,‘xyy’,‘yd’,‘jzyd’) GROUP BY subclass

OK了!!
做法就是把当前会话里面的 ONLY_FULL_GROUP_BY sql 模式给去掉!
So easy !

MySQL中,使用GROUP BY语句进行分组查询时,查询的字段必须要么是分组字段,要么是聚合函数的参数。如果查询的字段既不是分组字段,也不是聚合函数的参数,那么在其他数据库中执行时可能会报错。但是MySQL对此做了特殊处理,允许在GROUP BY语句中返回其他字段而不报错。这种特殊处理是通过使用聚合函数来实现的,例如在你提供的第二个引用中,使用了any_value函数来返回value字段的值。这样做可以确保查询结果的正确性,并且不会触发错误。所以在MySQL中,你可以在GROUP BY语句中返回其他字段而不会出错。 #### 引用[.reference_title] - *1* *2* [mysqlgroup by“的字段与“select“的字段不一致为什么不会出错?](https://blog.youkuaiyun.com/qq_41468822/article/details/130370347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mysqlgroup by 和select 列字段数不同(包括后续解决方法)](https://blog.youkuaiyun.com/song_chengbo/article/details/105393004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值