我正在撰寫一個查詢來選擇風格喜劇電影中總數最多的提名人數。我有以下查詢到目前爲止SQL COUNT來統計來自其他表的所有數字
SELECT m.movie_title, m.release_year, COUNT(*)
FROM MOVIE m JOIN NOMINATION n
ON (n.movie_title=m.movie_title AND n.release_year=m.release_year)
WHERE m.genre='Comedy' GROUP BY m.movie_title, m.release_year;
如果我執行以下查詢
SELECT m.movie_title, m.release_year
FROM MOVIE m
WHERE (m.genre='Comedy') GROUP BY m.movie_title,m.release_year);
它返回我與3個結果。我的動機是以流派喜劇的電影提名人數最高。
我的邏輯不正確?我還是一個初學sql(oracle11g)和自學的人。
我已經看過多個在線教程,但目前爲止還沒有任何幫助。
謝謝你的幫助。
你的問題是有點模糊。你的意思是你的「動機是獲得一個具有最高提名的電影類型喜劇提名結果」,但是,在你的查詢中,你正按照Movie_Title和Release_Year進行分組。這個小組不會只用一行來獲取你,它會爲你提供多年來提名次數最多的電影。 – Vaibhav 2014-10-28 06:37:00
下面的答案是正確的,但是,如果您只想獲得一行(最高提名的電影),您可以從GROUP BY和SELECT中刪除「release_year」。 – Vaibhav 2014-10-28 06:42:26