我有这样的查询;
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 :(得分:1)
您需要使用日期表,或创建包含日期的临时表。但是,日期表将是您的最佳选择,因为它的尺寸和效率都很小。
你也错误地使用了GROUP BY
。请阅读MySQL Extensions to GROUP BY。