簡體   English   中英

在 MySQL 中按分組查詢期間獲取時差

[英]Get time difference during a Grouped by query in MySQL

在我的 SQL 查詢期間,如何在第一行和最后一行之間獲得時間?

數據如下:

|--------|-----------|---------------------|
| 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_token提供一行,最早和最新的est_datetime之間的est_datetime ,以秒表示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM