我已经在数据库表下面添加了。在其中我有两列开始时间和结束时间
Record_id | userid| parent_id| start time | end time |
1 | 53 | 10 | 2018-08-15 23:57:45 | 2018-08-15 23:57:55 |
2 | 53 | 10 | 2018-08-15 23:58:03 | 2018-08-15 23:58:22 |
3 | 53 | 10 | 2018-08-15 23:58:16 | 2018-08-15 23:59:05 |
4 | 53 | 10 | 2018-08-15 23:58:24 | 2018-08-16 00:33:35 |
5 | 53 | 10 | 2018-08-15 23:58:24 | 2018-08-15 23:58:29 |
6 | 53 | 10 | 2018-08-15 23:58:31 | 2018-08-15 23:58:32 |
7 | 53 | 10 | 2018-08-15 23:58:52 | 2018-08-15 23:59:00 |
8 | 53 | 10 | 2018-08-15 23:59:16 | 2018-08-16 00:00:05 |
9 | 53 | 10 | 2018-08-15 23:59:24 | 2018-08-15 23:59:32 |
10| 53 | 10 | 2018-08-15 23:59:27 | 2018-08-16 00:00:03 |
11| 53 | 10 | 2018-08-15 23:59:43 | 2018-08-16 00:21:38 |
+-----+-----------+----------+---------------------+---------------------+
输出:
Date | Count | user_id | parent_id | Record
2018-08-15 23:58:00 | 1 | 53 | 0 | 1
2018-08-15 23:58:00 | 1 | 0 | 10 | 1
2018-08-15 23:59:00 | 6 | 53 | 0 | 2,3,4,5,6,7
2018-08-15 23:59:00 | 6 | 0 | 10 | 2,3,4,5,6,7
2018-08-16 00:00:00 | 6 | 53 | 0 | 3,4,8,9,10,11
2018-08-16 00:00:00 | 6 | 0 | 10 | 3,4,8,9,10,11
2018-08-16 00:01:00 | 4 | 53 | 0 | 4,8,10,11
2018-08-16 00:01:00 | 4 | 0 | 10 | 4,8,10,11
结果说明:
第一列(日期):DateTime, 第二列(计数):特定日期时间表中有多少条记录。
在这里我们可以看到时间:2018-08-15 23:58:00仅record_id = 1可用。意味着record_id = 1的start_time必须大于2018-08-15 23:57:00,并且end_time必须小于等于2018-08-15 23:58:00。
假设:Record_id = 4,其开始时间为2018-08-15 23:58:24,结束时间为2018-08-16 00:33:35。 因此,将从2018年8月15日23:59:00(开始时间大于2018年8月15日23:58:00)到2018年8月16日00:34:00(结束时间较短)计算此记录等于或等于2018-08-16 00:34:00)。
注意: