sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan får man det samlede antal rækker i en udført select-sætning?

Du skal enten bruge SELECT COUNT(*) ... med samme betingelse, eller tilføj en kolonne med rækkeantallet via 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

...eller brug @@ROWCOUNT efter valget.

I stedet for ROW_NUMBER det er nemmere at bruge COUNT(*) OVER (Bestil efter ...) hvor hver række indeholder det samme samlede antal, mens ROW_NUMBER ville returnere et sekventielt nummer, hvor kun den sidste post (iht. ORDER BY ) ville have det samlede antal.

Så hvad Aaron allerede har ment i sit svar .



  1. Problemer med sammenligning af MySQL flydende komma

  2. Hvorfor virker min JDBC-opdatering ikke?

  3. Samme forespørgsel - forskellige eksekveringsplaner

  4. Postgres Ingen tilladelse til at oprette bruger