У меня есть таблица, в которой есть несколько записей для одного и того же идентификатора.Выглядит это так, и строки сортируются по порядковому номеру.
+----+--------+----------+----------+
| id | result | duration | sequence |
+----+--------+----------+----------+
| 1 | 12 | 7254 | 1 |
+----+--------+----------+----------+
| 1 | 12 | 2333 | 2 |
+----+--------+----------+----------+
| 1 | 11 | 1000 | 3 |
+----+--------+----------+----------+
| 1 | 6 | 5 | 4 |
+----+--------+----------+----------+
| 1 | 3 | 20 | 5 |
+----+--------+----------+----------+
| 2 | 1 | 230 | 1 |
+----+--------+----------+----------+
| 2 | 9 | 10 | 2 |
+----+--------+----------+----------+
| 2 | 6 | 0 | 3 |
+----+--------+----------+----------+
| 2 | 1 | 5 | 4 |
+----+--------+----------+----------+
| 2 | 12 | 3 | 5 |
+----+--------+----------+----------+
Например, для id=1
, я хотел бы суммировать продолжительность для всех предыдущих строк и включить result=6
, что составляет 7254+2333+1000+5
.То же самое для id =2
, это будет 230+10+0
.Что-нибудь после строки, где result=6
будет опущено.
Мой ожидаемый результат:
+----+----------+
| id | duration |
+----+----------+
| 1 | 10592 |
+----+----------+
| 2 | 240 |
+----+----------+
Последовательность должна быть в порядке возрастания.
Яне уверен, как я могу сделать это в sql.Заранее спасибо!