@Fable2348

Как сделать выборку по дням в Mysql?

Необходимо выбрать адрес, сколько дней мы его видели и в какие конкретно даты это было (даты в третьем поле должны быть перечислены через запятую).

Входняе параметры:
Даты выборки 2019-12-01 - 2020-03-01
Интервал на котором видели мак 20 минут
кол-во адресов зафиксированное на интервале 3 и более.
Если адрес видели в одном дне более 2 интервалов, то схлопываем его до одного дня.
Пример кода:
SELECT  DISTINCT Адрес
FROM таблица

WHERE ВремяАдреса BETWEEN UNIX_TIMESTAMP('2019-12-01 00:00:00') AND UNIX_TIMESTAMP('2020-03-01 23:59:59') 

GROUP BY FROM_UNIXTIME( TRUNCATE( ВремяАдреса/ 1200, 0 ) * 1200 ) , Адрес

HAVING COUNT(Адрес) >= 3


Как поменять данный код под условие задачи?
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT `address`, GROUP_CONCAT(`date`) AS `dates`, COUNT(*)
  FROM (
    SELECT DISTINCT `address`, DATE(`datetime`) AS `date`
    FROM `table`
    WHERE ...
  ) AS `t`
  GROUP BY `address`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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