2013-09-05 53 views
1

我有表(dataTbl)像波紋管。如何獲取明智的報告從MySql

id date 
1 05-08-2013 
2 10-08-2013 
3 11-08-2013 
4 12-08-2013 
5 12-08-2013 
6 12-08-2013 
7 21-08-2013 
8 22-08-2013 
9 23-08-2013 
10 23-08-2013 
11 24-08-2013 
12 29-08-2013 
13 30-08-2013 
14 30-08-2013 
15 30-08-2013 

我想2013年1月8日之間獲得輸出像婁30-08-2013後,我執行查詢: -

date  entries 
01-08-2013 0 
02-08-2013 0 
03-08-2013 0 
04-08-2013 0 
05-08-2013 1 
06-08-2013 0 
07-08-2013 0 
08-08-2013 0 
09-08-2013 0 
10-08-2013 1 
11-08-2013 1 
12-08-2013 3 
13-08-2013 0 
14-08-2013 0 
15-08-2013 0 
etc., etc., 

如何在MySQL查詢做到這一點?請幫幫我!

表中有第5,10,11,12個(3個條目),21,22,23(2個條目)的記錄。

但是輸出應該以01,02,03,04,05,06,07,08,09,10以及條目數開始。

回答

2

如果你不想使用PHP或存儲過程,你將需要第二個表中列出的所有日期,一旦你有一個爲說all_dates

select listdate, count(datatbl.date) from all_dates 
left outer join datatbl on all_dates.listdate = datatbl.date 

或可替代

Select listdate,0 from all_dates where listdate not in (select distinct date from datatbl) 
union 
select date, count(*) from databl group by date 
+0

所以我們需要兩張桌子... – rkaartikeyan

+1

@rkaartikeyan這是**最好的**方式。 – Kermit

+0

嗨... @ rkaartikeyan你能給我第二個表(all_dates)的查詢嗎?在此先感謝:D –