2013-04-07 55 views
1

我試圖顯示所有學生工作的不同公司。但是,只應顯示僱用四名以上學生的公司。ORA-00979:不是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上。

回答

3

嘗試:

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

- 這將返回所有僱主的名單有超過4名學生。

在分組或包括聚合領域,你的SELECT語句應該包括要麼聚集或包括group by子句中的字段 - 在現有的選擇,你要包括在SELECT子句EMPLOYER,而不是由它分組或彙總它。

+0

謝謝你親切先生!我將盡力在將來記住這一點。 – 2013-04-07 17:40:24

相關問題