Есть таблица (много строк)
------------------------------------
| id | cId | time |
------------------------------------
| 1 | 5 | 2017-06-01 10:00:00 |
| 2 | 5 | 2017-06-01 10:01:00 |
| 3 | 5 | 2017-06-01 10:06:00 |
| 7 | 5 | 2017-06-01 10:08:00 |
| 4 | 2 | 2017-07-01 10:05:00 |
| 5 | 2 | 2017-07-01 10:06:00 |
| 6 | 2 | 2017-07-01 10:07:00 |
------------------------------------
Как получить периоды, продолжительность которых больше 180 секунд.
---------------------------------------------------
| cId | begin | end |
---------------------------------------------------
| 5 | 2017-06-01 10:01:00 | 2017-06-01 10:06:00 |
---------------------------------------------------
select cId,min(time) begin,max(time) end
from `Table5`
group by cId
having time_to_sec(timediff(max(time),min(time)))>180
SELECT b.cid, MIN(b.time) begin, MIN(e.time) end
FROM foo b INNER JOIN foo e ON (b.cid = e.cid AND b.id < e.id)
GROUP BY b.cid, b.id
HAVING TIME_TO_SEC(TIMEDIFF(MIN(e.time), MIN(b.time))) > 180;
Рабочий пример на SQLFiddle
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день! Подскажите как реализовать сайдбары? То есть хочу сделать контроллеры которые бы отрабатывали и выводили контент на каждой...
ЗдравствуйтеПомогите, пожалуйста, составить маску, чтобы при помощи $_SERVER[REQUEST_URI] определить страницы вида: