首页 > 数据库技术 > 详细

Mysql group by之 Error 1055

时间:2019-10-26 18:03:07      阅读:79      评论:0      收藏:0      [点我收藏+]

 技术分享图片

 技术分享图片

统计每个班级有多少人

我按照班级名称进行分组,返回  班级id和班级name出现了如下错误

报错的查询语句如下

-- 统计每个班级有多少人
select
c.id,c.name,count(*) from class c left join user u on c.id=u.c_id group by c.name;

技术分享图片

报异常的原因

错误原因:

  在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

ONLY_FUll_GROUP_BY的意思是:

  对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY语句中,也就是说查出来的列必须是GROUP BY之后的字段,或者这个字段出现在聚合函数里面。

GROUP BY 正确用法

mysql 的 group by 语法为:

  select  选取分组中的列 + 聚合函数  from  表名  group  by  分组的列

如下是正确语句的实例

select a,count(*) from emp group by a,b;

 加不加聚合函数都可以,根据需求进行选择

 

文章转载自:https://blog.csdn.net/qq_34581118/article/details/78228262

Mysql group by之 Error 1055

原文:https://www.cnblogs.com/pjcd-32718195/p/11743907.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!