如何识别列中时间戳的层次

时间:2017-05-08 05:38:50

标签: mysql

我有2列的表,我们可以看到Rowid(1-5)的15分钟间隔& Rowid(6-10)它的1小时间隔,如何添加一个新列,显示时间间隔。

Rowid          Date             Value
1      01-Nov-16 00:00:00       716
2      01-Nov-16 00:15:00       716
3      01-Nov-16 00:15:00       716
4      01-Nov-16 00:45:00       717
5      01-Nov-16 01:00:00       716

6      01-Nov-16 01:00:00       34
7      01-Nov-16 02:00:00       66
8      01-Nov-16 03:00:00       717
9      01-Nov-16 04:00:00       717
10     01-Nov-16 05:00:00       717

O / P:

Rowid          Date           Value      Interval_gap
1      01-Nov-16 00:00:00      716           15 mins
2      01-Nov-16 00:15:00      716           15 mins
3      01-Nov-16 00:15:00      716           15 mins
4      01-Nov-16 00:45:00      717           15 mins
5      01-Nov-16 01:00:00      716           15 mins

6      01-Nov-16 01:00:00      34            1 hour
7      01-Nov-16 02:00:00      66            1 hour
8      01-Nov-16 03:00:00      717           1 hour
9      01-Nov-16 04:00:00      717           1 hour
10     01-Nov-16 05:00:00      717           1 hour

提前致谢

1 个答案:

答案 0 :(得分:0)

这不是一个“答案”,但我需要格式化来说明一点:

请检查您的预期结果。我假设“值”表示行是相关的,对于任何序列,第一行不能产生结果 e.g。

Rowid          Date           Value      Interval_gap
1      01-Nov-16 00:00:00      716           NULL     << nothing prior to this row, so no calculation
2      01-Nov-16 00:15:00      716           15 mins
3      01-Nov-16 00:15:00      716           0 mins
5      01-Nov-16 01:00:00      716           45 mins

6      01-Nov-16 01:00:00      34            NULL     << nothing prior to this row, so no calculation

7      01-Nov-16 02:00:00      66            NULL     << nothing prior to this row, so no calculation

4      01-Nov-16 00:45:00      717           NULL     << nothing prior to this row, so no calculation
8      01-Nov-16 03:00:00      717           2 Hours 45 mins
9      01-Nov-16 04:00:00      717           1 hour
10     01-Nov-16 05:00:00      717           1 hour

第2轮

Rowid          Date           Value      Interval_gap  Named
1      01-Nov-16 00:00:00      716           NULL      ABC
2      01-Nov-16 00:15:00      716           15 mins   ABC
3      01-Nov-16 00:15:00      716           15 mins   ABC
4      01-Nov-16 00:45:00      717           15 mins   ABC
5      01-Nov-16 01:00:00      716           15 mins   ABC

6      01-Nov-16 01:00:00      34            NULL      XYZ
7      01-Nov-16 02:00:00      66            1 hour    XYZ
8      01-Nov-16 03:00:00      717           1 hour    XYZ
9      01-Nov-16 04:00:00      717           1 hour    XYZ
10     01-Nov-16 05:00:00      717           1 hour    XYZ