Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak możemy wykonać podział na strony przy pobieraniu wartości z 100 rekordami każdy w sql

Użyj CTE i PRZESUNIĘCIE :

@RecordIndex=Start Row No
@PageSize=No of Rows to fetch

;WITH CTE_Results
AS (
SELECT 
    ROW_NUMBER() OVER (ORDER BY CreatedDate DESC) AS ROWNUM,
    Count(*) over () AS TotalCount,
    *
    FROM TableName  
)      
Select * from CTE_Results 
ORDER BY ROWNUM
OFFSET (@RecordIndex) ROWS
FETCH NEXT @PageSize ROWS ONLY;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy wymagane jest wycofanie, jeśli zapytanie zostało zakończone z błędami?

  2. Obsługa max(ID) w środowisku współbieżnym

  3. Jak przestawić nieznaną liczbę kolumn i brak agregacji w SQL Server?

  4. Zdobądź członków rodziny

  5. Jak uzyskać liczbę zduplikowanych wierszy kolumny DISTINCT jako innej kolumny?