2013-02-22 147 views
0

我有這樣的查詢;mysql如果沒有記錄

select value, date from table 
where date in ('date1','date2','date3','date4','date5') 
group by date 

這隻有在給定日期的記錄時纔給出結果。但是,即使沒有給定日期的記錄,我也想獲得一個「0」值的行。我怎樣才能做到這一點?

5 | 02/04/2012 
8 | 02/05/2012 
3 | 02/06/2012 
4 | 02/08/2012 

>

5 | 02/04/2012 
8 | 02/05/2012 
3 | 02/06/2012 
0 | 02/07/2012 
4 | 02/08/2012 
+0

從哪裏得到這個日期02/07/2012對於0值的行 – DevelopmentIsMyPassion 2013-02-22 15:01:24

+0

@AshReva這就是我所要求的。獲得第一個結果但需要第二個結果。 – milesh 2013-02-23 08:15:02

+0

但你能告訴我,如果記錄爲0,我應該如何使這個值02/07/2012?它會被硬編碼嗎? – DevelopmentIsMyPassion 2013-02-23 08:51:49

回答

1

您需要使用日期表,或創建一個臨時表的日期。但是,日期表將是您的最佳選擇,因爲它體積小,效率高。

你也錯誤地使用GROUP BY。請閱讀MySQL Extensions to GROUP BY

相關問題