MySQL:通过转到特定行并检索特定行中的列值来分析表数据

MySQL:通过转到特定行并检索特定行中的列值来分析表数据,mysql,algorithm,Mysql,Algorithm,我将以下数据集作为表中的示例。 对不起,我是新手,还不知道表的降价语法 我的数据样本如下 ## Data Table t ## | idS_Data | S_id | S_dateTime | value | |:--------:|------|----------------|-------| | 1 | 153 | 5/6/2014 7:00 | 1 | | 2 | 153 | 5/6/2014 12:00 | 1 | | 3

我将以下数据集作为表中的示例。 对不起,我是新手,还不知道表的降价语法

我的数据样本如下

## Data Table t ##
| idS_Data | S_id | S_dateTime     | value |
|:--------:|------|----------------|-------|
| 1        | 153  | 5/6/2014 7:00  | 1     |
| 2        | 153  | 5/6/2014 12:00 | 1     |
| 3        | 154  | 5/6/2014 14:00 | 1     |
| 4        | 154  | 5/6/2014 14:30 | 1     |
| 5        | 156  | 5/6/2014 15:30 | 1     |
| 6        | 156  | 5/6/2014 16:30 | 1     |
预期结果 我想得到以下结果

S_id |Time Difference
153  |05:00:00
154  |00:30:00
156  |01:00:00 
怎样 如何做到这一点? 我的数据集非常大,需要按顺序处理该行

伪码 我的比苏多代码如下:

从第一行开始,S_id=列S_id中的第一行值 将该行的S_datetime检索为t1 转到S_id更改其值之前的最后一行,例如,在我的示例数据中S_id变为154时的第3行 retrieve datetime t2=第一行中原始S_id的最后一行。样本数据中的第2行 计算时间差=t2-t1 对于下一个S-id开始的行(例如154)的其余行,继续上述操作

如何做到这一点

非常感谢您的帮助

提前谢谢

SELECT S_id ,TIMEDIFF(MAX(S_dateTime),MIN(S_dateTime))
FROM t
GROUP BY S_id