我有類似下面列的表格,但約30日期列和500+記錄MySQL的集團由周民瓦特/多個日期列
id | forcast_date | actual_date
1 10/01/2013 12/01/2013
2 03/01/2013 06/01/2013
3 05/01/2013 05/01/2013
4 10/01/2013 09/01/2013
,我需要做的就是讓查詢類似於
week_no | count_forcast | count_actual
1 4 6
2 5 7
3 2 1
等輸出
我的查詢是
SELECT weekofyear(forcast_date) as week_num,
COUNT(forcast_date) AS count_forcast ,
COUNT(actual_date) AS count_actual
FROM
table
GROUP BY
week_num
但我所得到的是在每列重複forcast_date計數,即
week_no | count_forcast | count_actual
1 4 4
2 5 5
3 2 2
任何一個可以請告訴我制定的查詢以獲得我所需要的最佳途徑?
感謝
什麼數據類型是列'forcast_date'和'actual_date'? 'DATE','VARCHAR'還是別的?你想要的輸出「count_forcast」和「count_actual」代表什麼?這些列中的不同值的數量? – Bjoern
您還應該考慮的一點是,即使當週沒有forcast_dates時,您是否想要一排代表一週。按weekofyear(forcast_date)分組,您的結果集僅包含那周至少有一個forcast_date記錄的星期。 – Zec
@Bjoern所有的日期都是DATETIME,count_列是每週在一個星期內落入的次數 – pwatt01