[英]MySQL - how to select id where min/max dates difference is more than 3 years
[英]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.