首页 > 解决方案 > 第 6 行的错误 1054 (42S22):“有子句”中的未知列“SCORE”

问题描述

我的 sql 查询给出ERROR 1054 (42S22) at line 6: Unknown column 'SCORE' in 'having clause'

请帮助解决此问题。

询问:

select ID, NAME
from STUDENT 
having SCORE > AVG(SCORE)
ORDER BY ID;

标签: sql

解决方案


除非你在 MySQL 上,否则你不能在没有 using 的情况下使用HAVING子句。GROUP BY相反,如果您的逻辑是查找平均分大于总体平均分的每个学生记录,则使用子查询来查找该平均分:

SELECT ID, NAME
FROM STUDENT 
WHERE SCORE > (SELECT AVG(SCORE) FROM STUDENT)
ORDER BY ID;

推荐阅读