今天写sql分组查询的时候报了这么个错,网上查解决办法都是改 @@global.sql_mode。如:
但是不知道什么原因(可能是因为我下载的是免安装版?),我改了之后group分组还是报上面的错误。
都准备放弃了,准备接着往后写,突然发现了问题所在==||;
即:在你按某字段分组的时候,其他字段每一列的值可能不同.比如下图所示的表:
此时运行sql语句:
SELECT id from test GROUP BY area;
就会报标题所示错误。
因为分组之后第一条和第四条会合并成一组,但是我此时要查id,那查询结果显示的id应该是1还是4呢(不只是id,此时select username也是如此,因为不知道查询结果是显示小明还是小绿)?
如果此时是要统计数量如count(),sum()等,是不会报错的。
但是此时如果一定要获取有不同数据的列,那还是想办法修改上面的配置吧