4 个回答

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

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

新手上路,请多包涵

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 修改了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题