问题描述
之前对
group by的认知是,select中的的字段必须出现在group by中,否则没有意义。 至于执行这样的sql会不会报错呢?没有明确的答案(反正也不会这么写)。
但是今天偶然发现,竟然不会报错!!
测试数据如下:
sql语句:
SELECT student.s_name, student.s_sex FROM student GROUP BY student.s_sex
执行结果:
发现能正常执行,而且group by后默认取每组第一条数据
问题分析
- 经过查资料发现,是由于没有设置
only_full_group_by属性,所以MySQL不会提示错误 - 可以通过
SELECT @@sql_mode查看当前设置