ORA-00979:不是GROUP BY表达式

时间:2013-04-07 17:01:14

标签: sql count group-by

我正在尝试展示学生工作的所有不同公司。但是,只应展示雇用四名以上学生的公司。

这是我到目前为止所做的:

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。

1 个答案:

答案 0 :(得分:4)

尝试:

SELECT EMPLOYER, COUNT (STUDENT_ID)
FROM STUDENT
GROUP BY EMPLOYER
HAVING COUNT (STUDENT_ID) >4;

- 这将返回所有雇员超过4名的雇主名单。

在对聚合字段进行分组或包含时,您的select语句应包含聚合或包含在group by子句中的字段 - 在现有选择中,您包括{{1在你的select子句中,但不是按它分组或聚合它。