최대 startdate
을 원하지만 NULL
데이터가 있습니다. 이는 null입니다.최대 및 NULL에 대한 GROUP BY
DECLARE @Tbl TABLE (Id INT, StartDate DATETIME)
INSERT INTO @Tbl
VALUES (1, NULL),
(1, '2016.07.30'),
(1, '2016.07.05'),
(1, '2016.07.05'),
(2, '2016.07.07'),
(2, '2016.07.05'),
(3, '2016.07.05'),
(3, NULL)
내 쿼리 : 다음과 같이
샘플 데이터는
SELECT Id, MAX(StartDate) AS StartDate
FROM @Tbl
GROUP BY Id
출력 :
Id StartDate
----------- ----------
1 2016-07-30
2 2016-07-07
3 2016-07-05
원하는 출력 :
Id StartDate
----------- ----------
1 NULL
2 2016-07-07
3 NULL
재미를 위해서 :'dateadd (day, nullif (sign (count (*) - count (StartDate)), 1), max (StartDate))' – shawnt00