【发布时间】:2020-03-28 17:14:41
【问题描述】:
鉴于下面的示例数据,我需要一个最新条目被拒绝的 id 列表。因此,我需要查看 id 2,因为它的最新版本是 2020 年 6 月 4 日,并且被拒绝。我不想看到 id 1,因为它的最新条目是 Requested。
CREATE TABLE #temp
(
id int,
mydate datetime,
status VARCHAR(20)
)
INSERT INTO #temp VALUES (1, '6/1/2020', 'Rejected')
INSERT INTO #temp VALUES (1, '6/2/2020', 'Requested')
INSERT INTO #temp VALUES (1, '6/3/2020', 'Rejected')
INSERT INTO #temp VALUES (1, '6/4/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/1/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/2/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/3/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/4/2020', 'Rejected')
SELECT * FROM #temp
SELECT id, MAX(mydate)
FROM #temp
WHERE status = 'Rejected'
GROUP BY id
到目前为止,这是我可怜的尝试
SELECT id, MAX(mydate)
FROM #temp
WHERE status = 'Rejected'
GROUP BY id
但这只会带回每个组中的最新日期。我需要一个最新条目被拒绝的列表。我希望答案会简单得令人尴尬,但我对此很感兴趣。
谢谢
卡尔
【问题讨论】:
标签: sql sql-server tsql