Допустим, следующая таблица ...
CREATE TABLE Dummy_Data
(
ID INT,
TextField VARCHAR(20),
DateField DATE
)
INSERT INTO Dummy_Data (ID, TextField, DateField)
VALUES (1, 'Random Text', '2018-01-04'),
(1, 'Random Text', '2018-02-04'),
(1, 'Random Text', '2018-05-01'),
(2, 'Random Text', '2017-01-14'),
(2, 'Random Text', '2017-05-01'),
(2, 'Random Text', '2018-01-01'),
(2, 'Random Text', '2018-02-01'),
(3, 'Random Text', '2018-01-04')
Я хотел бы вернуть MAX(DateField)
для каждого ID
, если DATEDIFF составляет менее 90 дней между каждой строкой.
Если DATEDIFF превышает 90 дней между каждой строкой, я хотел бы вернуть MAX(DateField)
для каждой группировки, скажем.
Пример:
Итак, взяв строки 1–3 из приведенного выше, мы знаем, что DATEDIFF в днях между каждой строкой меньше 90, поэтому я хотел бы только вернуть:
ID TextField DateField
-------------------------------
1 - Random Text 2018-05-01
Однако: строки 4-7 имеют место, когда DATEDIFF превышает 90 дней, поэтому я хотел бы вернуть:
ID TextField DateField
-------------------------------
2 Random Text 2017-01-14
2 Random Text 2017-05-01
2 Random Text 2018-02-01
Спасибо всем, кто может решить эту проблему.