sql获取数据库中记录的行号(sql server)

sql获取数据库中记录的行号(sql server),sql,sql-server,Sql,Sql Server,数据库示例 Id Name ----------------- 0 name0 1 name1 2 name2 17 name17 24 name 24 我想要一个类似这样的SQL语句 SELECT waytoFindRowNumber FROM example WHERE Id = 17 所以我得到的结果是 3 ==> the row no. of the matching record 我怎样才能得到这个结果 谢谢 编辑 使用ROWNU

数据库示例

Id  Name
-----------------    
 0   name0
 1   name1
 2   name2
17   name17
24   name 24
我想要一个类似这样的SQL语句

SELECT waytoFindRowNumber 
FROM example   
WHERE Id = 17
所以我得到的结果是

3 ==> the row no. of the matching record
我怎样才能得到这个结果

谢谢

编辑


使用ROWNUMBER内置功能如何

SELECT * 
FROM (
               SELECT *, 
                       ROW_NUMBER() OVER (PARTITION BY Id, 
                                          ORDER BY Id) rown 
               FROM example 
               WHERE Id=17) tmp
WHERE tmp.rown = 3

这个问题我不清楚(name0是第0行name1是第1行name17是第3行您希望它返回3行,所有行都是ID 17行吗?您希望返回从ID 17开始的3行吗?问题是不明确的,因为您声明name17是第3行,那么您发布的查询将返回该行。但我怀疑这不是您想要的。不,我希望它给出数字3,它不提供r。)ows back这有点不合适,您需要将
ID=17
移动到子查询之外。
SELECT * 
FROM (
               SELECT *, 
                       ROW_NUMBER() OVER (PARTITION BY Id, 
                                          ORDER BY Id) rown 
               FROM example 
               WHERE Id=17) tmp
WHERE tmp.rown = 3