Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Выборка уникальных дней из диапазона дат  [new]
Igorgg
Member

Откуда:
Сообщений: 80
Здравствуйте. Кто подскажет, как выбрать все дни из диапазона дат, которые могли быть, но только distinctные.

username from_ to_
test 2019-12-01 18:26:08 2019-12-01 18:29:34
test 2019-12-01 18:32:53 2019-12-03 22:06:38
test 2019-12-03 22:06:35 2019-12-13 17:39:09
test 2019-12-16 17:39:07 2019-12-20 23:59:59

Для test надо выбрать дни:
2019-12-01
2019-12-02
2019-12-03
2019-12-04
2019-12-05
2019-12-06
2019-12-07
2019-12-08
2019-12-09
2019-12-10
2019-12-11
2019-12-12
2019-12-13
2019-12-16
2019-12-17
2019-12-18
2019-12-19
2019-12-20


Спасибо.
10 янв 20, 18:44    [22056763]     Ответить | Цитировать Сообщить модератору
 Re: Выборка уникальных дней из диапазона дат  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20026
WITH RECURSIVE
cte AS ( SELECT DATE(MIN(from_)) date_
         FROM sourcetable
         UNION ALL
         SELECT date_ + INTERVAL 1 DAY
         FROM cte
         WHERE date_ < ( SELECT DATE(MAX(to_))
                 FROM sourcetable )
       )
SELECT date_
FROM cte
WHERE EXISTS ( SELECT NULL
               FROM sourcetable
               WHERE date_ BETWEEN DATE(from_) 
                           AND DATE(to_)
10 янв 20, 19:30    [22056796]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить