sql – 如何使用ROW_NUMBER()?

我想使用ROW_NUMBER()获取…

>要获取最大值(ROW_NUMBER()) – >或者我想这也将是所有行的计数

我试着做:

SELECT max(ROW_NUMBER() OVER(ORDER BY UserId)) FROM Users

但它似乎没有工作…

>要获取ROW_NUMBER()使用给定的信息,即。如果我有一个名字,我想知道名称来自哪一行。

我认为这将是类似于我为#1尝试

SELECT ROW_NUMBER() OVER(ORDER BY UserId) From Users WHERE UserName='Joe'

但这没有工作…

有任何想法吗?

对于第一个问题,为什么不使用?

SELECT COUNT(*) FROM myTable 

得到计数。

对于第二个问题,行的主键是应该用于标识特定行。不要尝试并使用行号。

如果在主查询中返回Row_Number()

SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User

然后当你想要去5行回来,那么你可以获取当前行号,并使用以下查询确定与currentrow -5行

SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
     FROM User ) us 
WHERE Row = CurrentRow - 5   
http://stackoverflow.com/questions/961007/how-do-i-use-row-number

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:sql – 如何使用ROW_NUMBER()?