Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

कुल रिकॉर्ड संख्या के साथ रिकॉर्ड्स का सबसेट प्राप्त करना

यहाँ मैंने जो किया है (और यह उतना ही तेज़ है, चाहे मैं कोई भी रिकॉर्ड लौटाऊँ):

--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. कीवर्ड समर्थित नहीं:मेटाडेटा

  2. टी-एसक्यूएल संग्रहीत प्रक्रिया में SHA256

  3. JDBC का उपयोग करके Microsoft SQL Server 2008 R2 में संग्रहीत प्रक्रिया में टेबल-वैल्यूड पैरामीटर्स (ऐरे-लाइक पैरामीटर) को कैसे पास करें?

  4. SQL_Latin1_General_CP1_CI_AS को UTF-8 में एन्कोड करना

  5. IIS7, SQL 2008 और ASP.NET MVC सुरक्षा