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

Uzyskiwanie podzbioru rekordów wraz z całkowitą liczbą rekordów

Oto, co zrobiłem (i to równie szybko, bez względu na to, które rekordy zwrócę):

--Parameters include:
@pageNum int = 1,
@pageSize int = 0,



DECLARE 
    @pageStart int,
    @pageEnd int

SELECT
    @pageStart = @pageSize * @pageNum - (@pageSize - 1),
    @pageEnd = @pageSize * @pageNum;


SET NOCOUNT ON;
WITH tempTable AS (
    SELECT
        ROW_NUMBER() OVER (ORDER BY FirstName ASC) AS RowNumber,
        FirstName
        , LastName
    FROM People
    WHERE Active = 1
)

SELECT
    (SELECT COUNT(*) FROM tempTable) AS TotalRows,
    *
FROM tempTable
WHERE @pageEnd = 0
OR RowNumber BETWEEN @pageStart AND @pageEnd
ORDER BY RowNumber


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć Cakephp 1.3 z MS SQLServer 2008?

  2. Kompresuj określoną partycję w tabeli w SQL Server (T-SQL)

  3. Jak wybrać ostatni rekord tabeli w SQL?

  4. Jak przekazać zmienne SSIS w wyrażeniu ODBC SQLCommand?

  5. Dostęp Androida do zdalnej bazy danych SQL