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