低版本的Mysql,group by限制性比较小,在进行group by时,select的对象可包含多个,但是换成高版本5.6以上好像,使用group by 以后,select的对象必须也已经被聚合,否则查询不出来数据,经百度资源,纳入解决方案如下:
查看sql_mode的值:
show variables like "sql_mode";
5.6版本的value值可能为:
value='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
修改value值:
set sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
相似文章,掘金:MySQL:为什么查询列表中多了它,GROUP BY语句就会报错呢?