2

私は、学生が働いているさまざまな企業をすべて見せようとしています。ただし、4 人以上の学生が雇用されている企業のみを表示する必要があります。

これは私がこれまでに持っているものです:

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を使用しています。

4

1 に答える 1

5

試す:

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

- これは、4 人以上の学生を持つすべての雇用主のリストを返します。

集約されたフィールドをグループ化または含める場合、select ステートメントには、集約されるか句に含まれるフィールドのみgroup byを含める必要があります。既存の select ではEMPLOYER、select 句に含めますが、それによってグループ化または集約しません。

于 2013-04-07T17:04:36.650 に答える