基本查询是这样的:
SELECT DATE_FORMAT(CreateTime, '%Y-%m-%d %H:00:00') t, count(*) c
FROM Table1
group by t
生成的结果是:
t c
2010-03-12 13:00:00 2
2010-03-15 10:00:00 1
2010-03-17 08:00:00 1
2010-03-18 09:00:00 1
因为出来的结果时间上不连续,所以我自己又造了一个时间表(最小单位是小时),对时间表的基本查询是这样:
SELECT dt
FROM Calendar
dt
1970-02-06 03:00:00
1970-02-06 04:00:00
1970-02-06 05:00:00
1970-02-06 06:00:00
1970-02-06 07:00:00
……
一直延续到2020年
不知道应该怎么写查询,才能生成如下的结果:
2010-03-12 13:00:00 2
2010-03-12 14:00:00 0
2010-03-12 15:00:00 0
……
即时间在小时上连续,如果此时间内没有记录,就取0
不知道自己描述的清楚不清楚。
SELECT DATE_FORMAT(CreateTime, '%Y-%m-%d %H:00:00') t, count(*) c
FROM Table1
group by t
生成的结果是:
t c
2010-03-12 13:00:00 2
2010-03-15 10:00:00 1
2010-03-17 08:00:00 1
2010-03-18 09:00:00 1
因为出来的结果时间上不连续,所以我自己又造了一个时间表(最小单位是小时),对时间表的基本查询是这样:
SELECT dt
FROM Calendar
dt
1970-02-06 03:00:00
1970-02-06 04:00:00
1970-02-06 05:00:00
1970-02-06 06:00:00
1970-02-06 07:00:00
……
一直延续到2020年
不知道应该怎么写查询,才能生成如下的结果:
2010-03-12 13:00:00 2
2010-03-12 14:00:00 0
2010-03-12 15:00:00 0
……
即时间在小时上连续,如果此时间内没有记录,就取0
不知道自己描述的清楚不清楚。