@shakawkaw

Как выбрать крайние значения времени до скачка/разрыва из MySQL?

Помогите выбрать граничные значения типа TIMESTAMP в MySQL. Есть таблица со штампами времени. Штампы идут пачками с интервалом 1 секунду и случайными промежутками между пачками. Есть ли способ на чистом sql получить начальное и конечное значение каждой пачки?
например, значения:
1442800001
1442800002
1442800003
1442800004
1442866661
1442866662
1442866663

получить как:
+----------------+-----------------+
|..........t1.........|...........t2.........|
+----------------+-----------------+
| 1442800001 | 1442800004 |
| 1442866661 | 1442866663 |
+----------------+-----------------+
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Изврат, конечно:
SET @t = 0;
SET @p = 0;
SELECT MIN(`time`) AS `t1`, MAX(`time`) AS `t2` 
    FROM (
        SELECT `time`, @t AS `prev`, 
                @p := IF(@t+1 = `time`, @p, @p+1) AS `packet`, 
                @t := `time` 
        FROM `table` 
        ORDER BY `time`
    ) AS `t` 
    GROUP BY `packet` 
    ORDER BY `packet`;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы