Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie erhalte ich die Gesamtzahl der Zeilen in einer ausgeführten Select-Anweisung?

Sie müssen entweder SELECT COUNT(*) ... verwenden mit derselben Bedingung oder fügen Sie eine Spalte mit der Zeilenanzahl über ROW_NUMBER Funktion:

SELECT a.Emp,b.orders, RN = ROW_NUMBER () OVER (ORDER BY a.Emp,b.orders) 
FROM table as a inner join table1 b on a.ID=B.ID

...oder verwenden Sie @@ROWCOUNT nach der Auswahl.

Statt ROW_NUMBER es ist einfacher, COUNT(*) OVER ( Order By ...) zu verwenden wobei jede Zeile dieselbe Gesamtzahl enthält, während ROW_NUMBER würde eine fortlaufende Nummer zurückgeben, bei der nur der letzte Datensatz (gemäß ORDER BY ) hätte die Gesamtzahl.

Also, was Aaron bereits in seiner Antwort gemeint hat .