最大startdate
が必要ですが、データはNULL
です。nullになります。MAXと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