Как в MySQL вывести все элементы которые были созданы последовательно в течении заданного времени, например 30 секунд?
Есть таблица products у которого есть столбец created_at нужно вывести все продукты
которые были созданы последовательно в течении 30 секунд,
То есть
product1 2020-06-02 14:20:5
product2 2020-06-02 15:00:5
product3 2020-06-02 15:00:10
product4 2020-06-02 15:00:20
product5 2020-06-02 15:00:40
product6 2020-06-02 15:02:45
product7 2020-06-02 15:03:50
SQL код должен вывести только (OUTPUT)
product2 2020-06-02 15:00:5
product3 2020-06-02 15:00:10
product4 2020-06-02 15:00:20
product5 2020-06-02 15:00:40
Как это можно сделать ?
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT *
FROM products t1
WHERE EXISTS ( SELECT NULL
FROM products t2
WHERE t1.created_at BETWEEN t2.created_at - INTERVAL 30 SECOND
AND t2.created_at + INTERVAL 30 SECOND
AND t1.created_at != t2.created_at )