Подсчитайте количество времени записи в 48 часов - SQL - PullRequest
0 голосов
/ 24 сентября 2018

Как выбрать количество записей, которое появляется более одного раза за 48 часов?

, например,

ID DATE 
1  9/24/2018
1  9/23/2018
1  9/20/2018
2  9/20/2018

ID 1 появилось больше, чем за 48 часов

пожалуйста, дайте мне знать, как написать SQL-запрос для этого

1 Ответ

0 голосов
/ 24 сентября 2018

Есть много способов, но я бы начал с использования LAG() и сравнения дат.Предполагая, что ваш столбец DATE имеет тип данных date?

WITH
  entity_summary AS
(
  SELECT
    ID,
    CASE
      WHEN LAG("DATE") OVER (PARTITION BY ID ORDER BY "DATE") >= "DATE" - INTERVAL '2' DAY
      THEN 1
      ELSE 0
    END
      AS occurence_within_2_day
  FROM
    Table1
)
SELECT
  ID,
  SUM(occurence_within_2_day)
FROM
  entity_summary
GROUP BY
  ID
HAVING
  SUM(occurence_within_2_day) >= 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...