用group by时select出现不应该的sal字段 问题

为什么老师的不能运行,我可以运行???sal在这里确实没有意义,但我的没有报错。
22
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕小小
2021-10-17 15:54:10
同学你好,group by子句的执行受严格模式、数据库版本等多种环境因素影响,上述sql可以正确执行,猜测同学的代码是在非严格模式下执行的。可执行如下sql语句使其在严格模式下执行:
-- 严格模式
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES';
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES';
-- 非严格模式
set global sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
set session sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
代码测试:
1、严格模式下执行

2、非严格模式下执行:

祝学习愉快~
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星