0

我有这样的查询;

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
4

1 回答 1

1

您需要使用日期表,或创建带有日期的临时表。但是,日期表将是您的最佳选择,因为它体积小且效率高。

您也错误地使用GROUP BY. 请阅读MySQL Extensions to GROUP BY

于 2013-02-22T15:01:06.433 回答