「無效使用組功能的」使用MySQL,我的數據庫看起來是這樣的:在MySQL
+-----------------------+--------------------+------+--------+
| moviesInfo | | | |
+-----------------------+--------------------+------+--------+
| title | director | year | oscars |
+-----------------------+--------------------+------+--------+
| BoBoiBoy: The Movie | Nizam Razak | 2016 | 0 |
| Inception | Christopher Nolan | 2010 | 4 |
| Interstellar | Christopher Nolan | 2014 | 1 |
| Munna Bhai M.B.B.S. | Rajkumar Hirani | 2003 | 0 |
| My Dear Brother | Ertem Egilmez | 1973 | 0 |
| Rocky | John G. Avildsen | 1976 | 3 |
| The Nights of Cabiria | Federico Fellini | 1957 | 1 |
| The Sixth Sense | M. Night Shyamalan | 1999 | 6 |
| Tokyo Story | Yasujirô Ozu | 1953 | 0 |
| Yojimbo | Akira Kurosawa | 1961 | 1 |
+-----------------------+--------------------+------+--------+
select director from moviesInfo
where MAX(year) > 2000 and SUM(oscars) > 2
group by director;
通過上述查詢我試圖讓誰後來有一部電影在2000年,有更多的導演比2 oscars,但我得到一個錯誤
Invalid use of group function
仍然是MySQL的新手我不完全理解這一點。
預期輸出將是
+-------------------+
| director |
+-------------------+
| Christopher Nolan |
+-------------------+
謝謝,你能解釋一下'HAVING'子句的作用嗎? – Ludisposed
@Ludisposed'HAVING'有點像'WHERE',只是它在形成的組上運行而不是每個記錄。他的HAVING條款是說一個導演的記錄組在2000年以後的一年中,它的奧斯卡總和超過了2個。 –
優秀的消除,我感到很難過,我現在不能兩次投票。 – Ludisposed