【发布时间】:2015-04-18 07:29:50
【问题描述】:
我想每 15 分钟对名为“报告”的给定表格中的所有报告进行分组,包括没有填写报告的时间间隔。示例:
id timestamp
---------------------------
1 2015-04-16 20:52:04
2 2015-04-16 20:53:04
3 2015-04-16 20:54:04
4 2015-04-16 19:52:04
5 2015-04-17 22:24:56
6 2015-04-17 22:27:09
7 2015-04-18 06:48:41
在选择查询之后我应该有:
timestamp count
----------------------
20:52:04 3
21:07:04 0
21:22:04 0
21:37:04 0
21:52:04 0
22:07:04 0
22:22:04 2
22:37:04 0
22:52:04 0
......
06:52:04 1
07:07:04 0
我尝试的是以下查询,但这不包括缺少的 15 分钟间隔:
select created_at , count(id) AS count
from `reports`
where `company_id` = '3'
group by UNIX_TIMESTAMP(created_at) DIV 900
order by `created_at` asc
【问题讨论】:
-
最简单的方法是创建一个包含 15 分钟间隔时间戳的表并加入它
-
我想你想要从过去 15 分钟开始的计数,而不仅仅是第 15 分钟?
-
我认为您将数据存储和检索与数据显示混淆了
标签: mysql select group-by timestamp