sql语句查询,加上group by就报错

节操
  • 31

E6C84A328D558BA2F232B187C7135AD8.jpg

回复
阅读 804
4 个回答

楼上+1
加别名以及高版本限制group by字段,如果非group的字段值都一样,加聚合函数就行了,
其实5.6就有开始有版本变这样了,你切换5.5的mysql,应该能跑

给查询的结果集取一个别名
image.png

我还是我
  • 2
新手上路,请多包涵

image.png我没记错的话,分组函数 的列不能包含除 分组字段外的其他字段

两个情况

  1. from 后面相当于是个临时表,需要取个别名 AS a
  2. 在MySQL5.7之后,默认是限制 group by 部分字段的,可以通过 SELECT @@sql_mode 查看下是否有 ONLY_FULL_GROUP_BY 的配置。重新设置下,去除掉就好了,只是临时改的话可以直接用 SET sql_mode='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'(引号里的内容是 select 后去除 ONLY_FULL_GROUP_BY后的值)
  3. 如果需要长期生效就得在 my.ini 修改了
宣传栏