sql >> Database >  >> RDS >> Sqlserver

Hoe gebruik ik ROW_NUMBER()?

Voor de eerste vraag, waarom niet gewoon gebruiken?

SELECT COUNT(*) FROM myTable 

om de telling te krijgen.

En voor de tweede vraag is de primaire sleutel van de rij wat moet worden gebruikt om een ​​bepaalde rij te identificeren. Probeer daar niet het rijnummer voor te gebruiken.

Als u Row_Number() heeft geretourneerd in uw hoofdquery,

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

Als u vervolgens 5 rijen terug wilt gaan, kunt u het huidige rijnummer nemen en de volgende query gebruiken om de rij te bepalen met huidige rij -5

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


  1. Wanneer DISTINCT <> GROUP BY

  2. Wanneer kunnen we een identificatienummer gebruiken in plaats van de naam in PostgreSQL?

  3. Meten van "Observer Overhead" van SQL Trace versus uitgebreide gebeurtenissen

  4. Wat is Azure Data Studio?