【发布时间】:2012-10-07 19:38:06
【问题描述】:
我正在创建一个图表,我可以在其中获取某个范围内每天的总观看次数,或者只要它可以追溯到过去。
我遇到的问题是在某天没有查看时填写默认数量0,有些日子可能一天内绝对没有查看,所以我需要 MySQL 返回默认值 @ 987654324@ 找不到时 - 我不知道该怎么做。
这是我用来获取一天总观看次数的查询:
SELECT DATE(FROM_UNIXTIME(v.date)) AS date_views,
COUNT(v.view_id) AS total_views
FROM
(
views v
)
GROUP BY date_views
ORDER BY v.date DESC
我的结果返回这个:
+------------+-------------+
| date_views | total_views |
+------------+-------------+
| 2012-10-17 | 2 |
| 2012-10-15 | 5 |
| 2012-10-14 | 1 |
| 2012-10-10 | 7 |
+------------+-------------+
但是,我想为它返回 0 缺少的日子,因为 2012-10-16、2012-10-11、2012-10-12、2012-10-13 不包括在内。
所以,例如:
+------------+-------------+
| date_views | total_views |
+------------+-------------+
| 2012-10-17 | 2 |
| 2012-10-16 | 0 |
| 2012-10-15 | 5 |
| 2012-10-14 | 1 |
| 2012-10-13 | 0 |
| 2012-10-12 | 0 |
| 2012-10-11 | 0 |
| 2012-10-10 | 7 |
+------------+-------------+
将被退回。
如何处理?
【问题讨论】: