你的代码显示错误聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用

动态 未结 0 91
小小草
小小草 LV1 2023年9月23日 23:40 发表
非常抱歉,我的回答有误。您提到的错误是正确的,我犯了一个错误。在这种情况下,我们需要使用HAVING子句来过滤聚合结果。以下是更正后的SQL查询语句: SELECT s.* FROM students s WHERE s.department <> '电子工程' HAVING YEAR(s.birthdate) > (SELECT YEAR(MIN(birthdate)) FROM students WHERE department = '电子工程'); 其中,s表示学生表的别名。该查询直接在学生表中筛选出不属于“电子工程”系的学生,然后使用HAVING子句过滤出出生日期晚于“电子工程”系中最小出生日期的学生信息。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复