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

Hvordan bruger jeg ROW_NUMBER()?

Til det første spørgsmål, hvorfor ikke bare bruge?

SELECT COUNT(*) FROM myTable 

for at få optællingen.

Og for det andet spørgsmål er den primære nøgle i rækken, hvad der skal bruges til at identificere en bestemt række. Forsøg ikke at bruge rækkenummeret til det.

Hvis du returnerede Row_Number() i din hovedforespørgsel,

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

Når du så vil gå 5 rækker tilbage, kan du tage det aktuelle rækkenummer og bruge følgende forespørgsel til at bestemme rækken med nuværende række -5

SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
     FROM User ) us 
WHERE Row = CurrentRow - 5   


  1. Topspørgsmål om JAVA/JRE i Oracle Apps

  2. Hvordan administrerer man db-forbindelser på serveren?

  3. Streaming af databaserede billeder ved hjælp af HttpHandler

  4. Lagret procedure for at få indeksstatus i alle databaser