mysql 开启only_full_group_by模式,该模式下使用mysql老版本的写法取group by分组数据会报错,报错如下:
`Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘wenming-bj-mtg.comments.organization_id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
时间: 0s`
ONLY_FULL_GROUP_BY这个配置启用的是 “严格ANSIsql 规则”,严格ANSI sql 规则要求在group by的时候,没有聚合的列,在group by的时候,必须全部包含在group by 的字段中。
在不关闭ONLY_FULL_GROUP_BY模式的情况下,将没有使用聚合函数的列,接在需要group by分组的字段后面,sql如下:
SELECT obj_id, area_id, organization_id, stars FROM
commentsWHERE
area_3= 2424 AND
type= 2 AND
enabled= 1 AND
created_at>= '2020-05-02 00:00:00' AND
created_at<= '2020-07-22 16:00:00' GROUP BY obj_id,organization_id,area_id,stars
这样就可以了,如果对您有帮助,点个👍哈。