使用“多次选择”时出现错误行号
第一个查询得到正确的行号。
SELECT num
FROM (SELECT ItemId, CommentId,ROW_NUMBER() OVER (ORDER BY CreatedDate desc) AS num
From ItemComments
where ItemId = 10
) AS numbered
WHERE numbered.CommentId =100Scond查询获得正确的行号。
SELECT num
FROM (SELECT ItemId, CommentId, ROW_NUMBER() OVER(ORDER BY CreatedDate desc) AS num
From ItemComments
where ItemId = 20
) AS numbered
WHERE numbered.CommentId =200当我试图在一个查询中使用上述两个值时,我得到了错误的行号。
获取错误行号的第三个查询
SELECT num
FROM (SELECT ItemId, CommentId, ROW_NUMBER() OVER(ORDER BY createddate desc) AS num
From ItemComments
where ItemId in(20,10)
) AS numbered
WHERE numbered.CommentId in (200, 100)请帮助我在多重选择中获得正确的行号
谢谢

发布于 2018-05-07 20:20:26
你只需要partition by
SELECT num
FROM (SELECT ItemId, CommentId,
ROW_NUMBER() OVER (PARTITION BY ItemId ORDER BY createddate desc) AS num
From ItemComments
where ItemId in (20, 10)
) numbered
WHERE numbered.CommentId in (200, 100)https://stackoverflow.com/questions/50221821
复制相似问题