mysql按时间差分组

jchrr9hc  于 2021-06-21  发布在  Mysql
关注(0)|答案(22)|浏览(738)

我的表格记录如下:

id         startFrom                   endOn               gateway   broadcast
1    2018-09-01T23:41:24:024  2018-09-01T23:45:24:028         A         X01
2    2018-09-01T23:41:24:025  2018-09-01T23:45:24:032         A         X01
3    2018-09-01T23:41:24:026  2018-09-01T23:45:24:028         B         X01
4    2018-09-01T23:41:24:030  2018-09-01T23:45:24:045         C         X01
5    2018-09-01T22:41:24:029  2018-09-01T23:41:24:784         B         X02
6    2018-09-01T23:41:24:025  2018-09-01T23:45:24:038         A         X01

如果我想使用单个查询来查找特定广播中每个网关的第一个请求时间段。如何使用mysql进行分组查询?
失败:

SELECT gateway, TIMESTAMPDIFF(MICROSECOND, `startFrom`, `endOn`) AS `timeDiff` FROM Records WHERE broadcast = 'X01' GROUP BY gateway

如果我试着做一个临时表,比如:

SELECT gateway, MIN(timeDiff)
FROM (SELECT TIMESTAMPDIFF(MICROSECOND, `startFrom`, `endOn`) AS `timeDiff`, gateway, broadcast FROM Records) t
WHERE broadcast = 'X01'
GROUP BY gateway;

它只能从这个广播中的每个网关记录中获得最小时间差,但是我必须查询“第一个记录”(=>order by startfrom asc)时间差。
目标输出为:

gateway        startFrom                 endOn                 timeDiff
A       2018-09-01T23:41:24:024  2018-09-01T23:45:24:028         4000  
B       2018-09-01T23:41:24:026  2018-09-01T23:45:24:028         2000  
C       2018-09-01T23:41:24:030  2018-09-01T23:45:24:045         15000

谢谢你的阅读和帮助

swvgeqrz

swvgeqrz2#

从记录中选择*;
+----+

bejyjqdl

bejyjqdl3#

|a | 2018-09-17 05:23:53 | 2018-09-17 06:23:53 | 3600|
|b | 2018-09-17 05:24:25 | 2018-09-17 06:24:25 | 3600|
|c | 2018-09-17 05:24:32 | 2018-09-17 06:24:32 | 3600|
+---------+

jw5wzhpr

jw5wzhpr5#

-+
这就是你要找的问题。。
从gateway asc的记录组中选择gateway,startfrom,endon,time_to_sec(timediff(endon,startfrom))作为timediff;
+---------+

xt0899hw

xt0899hw8#

|网关|从|结束|时间差开始|
+---------+

fkvaft9z

fkvaft9z9#

-+
|id |从|结束|网关|广播开始|
+----+

iibxawm4

iibxawm412#

-+
|2018年9月17日05:23:53 2018年9月17日06:23:53|
|2 | 2018-09-17 05:24:08 | 2018-09-17 06:24:08 | a | x01|
|2018年9月17日05:24:25 2018年9月17日06:24:25北京时间01|
|2018年9月17日05:24:32 2018年9月17日06:24:32 c:x01|
|2018年9月17日05:24:42 2018年9月17日07:24:42北京02|
+----+

相关问题