我正在尝试展示学生工作的所有不同公司。但是,只应展示雇用四名以上学生的公司。
这是我到目前为止所做的:
SELECT EMPLOYER, COUNT (STUDENT_ID)
FROM STUDENT
GROUP BY STUDENT_ID
HAVING COUNT (STUDENT_ID) >4;
我一直收到这条消息:
ERROR at line 1:
ORA-00979: not a GROUP BY expression
我不明白。我之前也试过这个:
SELECT STUDENT.EMPLOYER, COUNT (STUDENT.STUDENT_ID)
FROM STUDENT
GROUP BY STUDENT.STUDENT_ID
HAVING COUNT (STUDENT.STUDENT_ID) >4;
但似乎没有任何效果。任何帮助表示赞赏。如果有帮助,我会使用SQL * Plus。
答案 0 :(得分:4)
尝试:
SELECT EMPLOYER, COUNT (STUDENT_ID)
FROM STUDENT
GROUP BY EMPLOYER
HAVING COUNT (STUDENT_ID) >4;
- 这将返回所有雇员超过4名的雇主名单。
在对聚合字段进行分组或包含时,您的select语句仅应包含聚合或包含在group by
子句中的字段 - 在现有选择中,您包括{{1在你的select子句中,但不是按它分组或聚合它。