我正在创建一个图表,我可以在其中获得特定范围内每天的总观看次数,或者只要它可以返回。
我遇到的问题是填写默认数量0
当某一天没有浏览量时,有些日子可能一天中绝对没有浏览量,所以我需要MySQL返回默认值0
当没有找到时 - 我不知道该怎么做。
这是我用来获取一天总观看次数的查询:
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 |
+------------+-------------+
会被退回。
如何解决这个问题?
几年前,当我这样做时,我创建了一个以日期为键、默认值 0 的空数组。然后我只是循环遍历结果 att 更改了我拥有的那些日期的值。
for each($result as $row){
$date_stats_array[$row['date']] = $row['value'];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)