如何在SQL Server中的表中查找last row_number?

时间:2016-06-05 03:11:44

标签: sql-server

问题:如何在SQL Server中的表中查找最后row_number?例如,我有一个名为Employee的表,没有任何ID,也不想添加任何标识列。

EmpName | EmpSalary
--------+----------
Amit    | 5000
Sumit   | 4500
Ajeet   | 5600

我试过了:

SELECT 
    ROW_NUMBER() OVER(ORDER BY EmpName) row_no 
FROM
    Employee

但它会返回:

row_no
1
2
3

但是,如果3是最后一行row_no,那么我想:

row_no
3

现在,请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

With cte as
(
SELECT ROW_NUMBER() OVER(ORDER BY EmpName) row_no from Employee 
)
Select max(row_no) from cte

使用cte

答案 1 :(得分:1)

您可以使用此查询:

Select Top 1 row_no FROM
(
 SELECT ROW_NUMBER() OVER(ORDER BY EmpName) row_no from Employee
 )as EMP order by row_no desc