首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server:如何在多个选择中获取行号

SQL Server:如何在多个选择中获取行号
EN

Stack Overflow用户
提问于 2018-05-07 20:18:03
回答 1查看 238关注 0票数 1

使用“多次选择”时出现错误行号

第一个查询得到正确的行号。

代码语言:javascript
运行
复制
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 =100

Scond查询获得正确的行号。

代码语言:javascript
运行
复制
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

当我试图在一个查询中使用上述两个值时,我得到了错误的行号。

获取错误行号的第三个查询

代码语言:javascript
运行
复制
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)

请帮助我在多重选择中获得正确的行号

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 20:20:26

你只需要partition by

代码语言:javascript
运行
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50221821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档