mysql如果没有记录

标签 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

最佳答案

您需要使用日期表,或创建一个包含日期的临时表。但是,日期表将是您的最佳选择,因为它尺寸小且效率高。

您还错误地使用了GROUP BY。请阅读MySQL Extensions to GROUP BY .

关于mysql如果没有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026962/

相关文章:

java - 第一次查询后连接关闭异常

mysql - 添加列并更改表错误

php - 获取上个月、上周、上天的重复日期条目的总和

mysql - 单个事务中的多个更新与具有大 WHERE 子句的一个更新

具有多个服务器的 MySQL 数据库

php - 读取 Soap Response XML 并插入到 mysql 中

mysql - 使用条件更新 - 重复 key 更新

python - Python 中 MySQLdb 模块的手册页在哪里?

php - 将普通日期转换为 MySQL 日期格式

php - 向从数据库填充的表添加删除按钮