请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在SQLSever 数据库中 查询的字段如果没有聚合函数 ,都需要写在group by后面,这个和MySQL不同吗

正在回答 回答被采纳积分+3

插入代码

2回答

咋啥都不会啊 2019-03-06 23:36:39

你可以

show variables like 'sql_mode'

查看是否开启了only_full_group_by

一般来说5.7.5之后的版本都是默认开启了这个功能,开启了之后查询语句中,不是聚集函数列,并且没有在GROUP BY之后 会报出

[Err] 1055 - 'interview.user_info.class' isn't in GROUP BY

详情的话你可以比较下MySQL 5.6 与5.7官方文档 对group by描述的差别

5.6官方文档 https://dev.mysql.com/doc/refman/5.6/en/group-by-handling.html

5.7官方文档 https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html


1 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    感谢同学的热心回答
    回复 有任何疑惑可以回复我~ 2019-03-07 20:20:54
翔仔 2019-03-06 23:18:56

同学好,mysql因为有一个设置导致group by 后面不一定要有这些字段,这个是sql_mode,如果开启了only_full_group_by则行为和其他的一致,建议开启。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号