簡體   English   中英

GROUP BY未返回正確的結果

[英]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.

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