在MySQL中按分组查询期间获取时间差
在SQL查询过程中,如何在第一行和最后一行之间获得时间差异 数据如下:在MySQL中按分组查询期间获取时间差,mysql,sql,datetime,max,min,Mysql,Sql,Datetime,Max,Min,在SQL查询过程中,如何在第一行和最后一行之间获得时间差异 数据如下: |--------|-----------|---------------------| | EST_Id | EST_Token | EST_Datetime | |--------|-----------|---------------------| | 1 | vexef | 2020-10-17 16:13:01 | | 2 | vexef | 2020-10-17
|--------|-----------|---------------------|
| EST_Id | EST_Token | EST_Datetime |
|--------|-----------|---------------------|
| 1 | vexef | 2020-10-17 16:13:01 |
| 2 | vexef | 2020-10-17 16:13:21 |
| 3 | vexef | 2020-10-17 16:14:31 |
| 4 | vexef | 2020-10-17 16:13:51 |
| 5 | fardd | 2020-10-17 17:00:11 |
| 6 | fardd | 2020-10-17 17:00:17 |
| 7 | fardd | 2020-10-17 17:00:19 |
|--------|-----------|---------------------|
例如,对于令牌vexef
我应该有50秒
这就是我尝试过的:
SELECT *, TIMEDIFF(MAX(EST_Datetime), MIN(EST_Datetime)) AS diff FROM table GROUP BY EST_Token ORDER BY EST_Id ASC
查询看起来正常,但diff
返回我0
谢谢。您似乎想要聚合:
select est_token, timestampdiff(second, min(est_datetime), max(est_datetime)) diff
from mytable
group by est_token
这将为每个est_令牌
提供一行,最早和最晚的est_日期时间
之间的差异以秒为单位