簡體   English   中英

如何選擇在mysql中發布超過2部電影的年份

[英]how to select years which has more than 2 movies released in mysql

我的代碼是:

SELECT count(*), title, release_year
FROM film
GROUP BY release_year
HAVING COUNT(title) > 2;` 

但我收到錯誤: #2 of SELECT 列表不在 GROUP BY 子句中,並且包含非聚合列 'sakila.film.title

它在功能上不依賴於 GROUP BY 子句中的列; 這與 sql_mode=only_full_group_by 0.038 秒不兼容

您想按 title 和 release_year 分組:

SELECT count(*), title, release_year
FROM film
GROUP BY title, release_year
HAVING COUNT(title) > 2;

或只是 release_year:

SELECT count(*), release_year
FROM film
GROUP BY release_year
HAVING COUNT(title) > 2;

可能添加GROUP_CONCAT(title)以在一行中獲取該組的所有標題。

刪除title 如果您對x列使用組關鍵字,則在select語句中僅使用x列名和sql 函數,如 count、min、max 等。

要顯示計數大於 2 的所有圖塊,您可以使用 GROUP _cONCAT 並且您不會再收到錯誤消息

SELECT count(*), GROUP_CONCAT(title SEPARATOR ';'), release_year
FROM film
GROUP BY release_year
HAVING COUNT(title) > 2;` 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM