2017-06-13 14 views
-5
SELECT department_name, cou FROM 
(
    SELECT department_name, count(student_id) AS cou 
    FROM department d NATURAL JOIN student s 
    GROUP BY department_name 
) 
GROUP BY department_name HAVING cou=max(cou); 
+1

エラーメッセージはどうなりますか?私はあなたについて知りませんが、私はOracleのエラーメッセージと関連するエラーコードの歩行百科事典ではありません! – Boneist

+0

'cou = max(cou)'?また、グループでは 'cou'を使っていませんが、selectではそれを使用していますか? – Utsav

+0

[トップNクエリ](https://stackoverflow.com/a/3574066/146325)を行う最も簡単な方法を理解するために、この他のスレッドをお読みください。 – APC

答えて

0

最初に避けて自然結合してください。それは危険だ。その理由のためGoogle。 あなたはOUTER selectのGROUP BYを持っていますが、select句に集約関数がないため、表示されています。

おそらく外側の選択を完全に失う可能性があり、内側の選択にHAVING節を置くように見えます。

0
SELECT * FROM (
SELECT department_name, count(student_id) AS cou 
    FROM department d 
    JOIN student s USING (student_id) 
GROUP BY department_name 
ORDER BY count(student_id) DESC) 
WHERE rownum = 1 
関連する問題