Как использовать диапазон дат в оконной функции в SQL Server - PullRequest
0 голосов
/ 29 мая 2018

Как использовать диапазон дат с помощью оконной функции в SQL Server?

У меня есть эта таблица:

id   date        item
----------------------
123  07/01/2018  anf
123  31/12/2017  sh
123  01/01/2018  ab
123  12/03/2018  fhy
123  02/01/2018  fg
124  10/12/2017  ab
124  03/03/2017  sh
125  21/11/2017  ab
125  31/12/2017  sh
125  01/03/2017  ab
126  31/12/2017  ab

Я хочу получить всю информацию о ids с самой последней даты допредыдущий 30 days.В моих данных отсутствуют даты, поэтому я не могу использовать разделение на строки, мне нужно использовать аналогичную логику диапазона дат в оконной функции, но она не поддерживается в SQL Server.

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Я хочу получить всю информацию об идентификаторах с самой последней даты до предыдущих 30 дней.

Ваш вопрос неясен относительно того, что вы на самом деле хотите.Если вы имеете в виду самую последнюю дату в данных, то вы можете использовать:

select . . . 
from (select t.*, max(date) over (partition by id) as max_date
      from t
     ) t
where date > dateadd(day, -30, max_date);
0 голосов
/ 29 мая 2018
SELECT * FROM YourTable 
WHERE DATEDIFF(DAY,date,GETDATE())<=30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...