[英]GROUP BY not returning correct results
這個查詢
SELECT releases.id,releases.label_no_country,releases.date
FROM releases
INNER JOIN labels_user_has_recd luhr
ON luhr.label=releases.label_no_country
WHERE luhr.user='Si Quick'
GROUP BY releases.id
HAVING datediff(now(),releases.date) < 90
ORDER BY releases.date DESC
LIMIT 0,10
給
id label_no_country date
605639 Church 2016-04-28
595303 Uncanny Valley 2016-04-21
605806 Dekmantel 2016-04-21
607276 Uncanny Valley 2016-04-21
604280 Delsin 2016-04-21
598653 Another Picture 2016-04-21
605016 Skylevel 2016-04-20
606342 Retreat 2016-04-14
599363 Frank Music 2016-04-12
599320 Spazio Disponibile 2016-04-08
我不想在label_no_count
列中不返回任何重復label_no_count
(即不是兩次Uncanny Valley
。
我已嘗試在以下查詢中使用GROUP BY
SELECT releases.id,releases.label_no_country,releases.date
FROM releases
INNER JOIN labels_user_has_recd luhr
ON luhr.label=releases.label_no_country
WHERE luhr.user='Si Quick'
GROUP BY releases.label_no_country
HAVING datediff(now(),releases.date) < 90
ORDER BY releases.date DESC
LIMIT 0,10
但這只會返回一個結果,而不是刪除重復項
id label_no_country date
599320 Spazio Disponibile 2016-04-08
將HAVING
移至WHERE
條件,例如
WHERE datediff(now(),releases.date) < 90
您的查詢應為
SELECT releases.id,releases.label_no_country,releases.date
FROM releases
INNER JOIN labels_user_has_recd luhr
ON luhr.label=releases.label_no_country
WHERE luhr.user='Si Quick'
AND datediff(now(),releases.date) < 90
GROUP BY releases.label_no_country
ORDER BY releases.date DESC
LIMIT 0,10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.