2012-11-21 27 views
0
SELECT WEEK(`date_posted`) AS week, COUNT(1) AS aantal 
FROM `news` 
GROUP BY week 
ORDER BY week DESC 
LIMIT 0 , 10 

這不作品。輸出是:我如何獲得MySQL的最近10周?

week aantal 
    52 41 
    51 56 
    50 49 
    49 56 
    48 62 

但是,我們還沒有在52怎麼了一週?

+1

你有沒有從去年的數據在你的桌子嗎? – Taryn

+0

你必須評估WEEK(Now())爲最大 – sailingthoms

+0

是的,我有這個在上週的數據等..可用。而且我不能在MAX中使用GROUP()。還有其他想法嗎? – Aar

回答

1

我想你需要一個WHERE條款:

SELECT WEEK(`date_posted`) AS week, COUNT(1) AS aantal 
FROM `news` 
WHERE `date_posted` >= (curdate() - interval 10 week) 
GROUP BY week 
ORDER BY week DESC 
LIMIT 0 , 10 
+0

SELECT WEEK('date_posted')AS周,COUNT(1)AS aantal FROM'news' WHERE'date_posted'> = DATE_SUB(CURDATE() - INTERVAL10周) GROUP BY周 ORDER BY周DESC LIMIT 0,10 授予: #1064 - 您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本正確的語法使用近「)GROUP BY周ORDER BY周DESC LIMIT 0,10」在第3行 – Aar

+0

@Aar請看到我的編輯 – Taryn

+0

這工作:-)日Thnx手冊。 .. – Aar