WITH CTE AS
(
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY opened_at) RN
FROM
table
)
SELECT column1, column2
FROM CTE
WHERE RN = 2
如果没有RN = 2
,我怎么能退回RN = 1
呢?
如果我编写类似这样的代码
WHERE RN = IIF (RN = 2,2,1)
对于包含1和2的行,它将返回RN = 1
和RN = 2
.我只需要RN = 2
,或者如果RN = 2
不存在,则返回RN = 1
.
任何建议都将受到高度赞赏.
谢谢!