2016-06-05 6 views
0

Frage: Wie finden Sie letzte row_number in einer Tabelle in SQL Server? Zum Beispiel habe ich eine Tabelle mit dem Namen Employee ohne ID und möchte keine Identitätsspalte hinzufügen.Wie finden Sie die letzte Zeilennummer in einer Tabelle in SQL Server?

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

Ich habe versucht, dieses:

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

aber es gibt diese:

row_no 
1 
2 
3 

aber, wenn 3 der letzte row_no ist, dann will ich:

row_no 
3 

Jetzt hilf mir bitte, das zu lösen.

Antwort

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

Verwenden Sie einen CTE

+0

@SiddharthaGoswami Wenn Sie diese Antwort das Gefühl, geholfen Ihr Problem gelöst, bitte markieren als ‚akzeptiert‘ durch das grüne Häkchen klicken Kennzeichen. Dies wird der Community helfen, den Fokus auf unbeantwortete Fragen zu legen. – Lahiru

1

Sie diese Abfrage verwenden können:

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