Monday, August 1, 2011

SQL Server: RowNumber หมายเลขบรรทัดอัตโนมัติ

ถ้าเราต้องการจะแทรกหมายเลขบรรทัดอัตโนมัติ

SELECT ROW_NUMBER() OVER (ORDER BY StudentId DESC) AS RowNumber, * FROM Student


วิธีนี้สามารถเอาไปใช้ในการทำ paging หรือการแบ่งหน้าได้ เช่นถ้าเราต้องการ select เฉพาะรายการที่ 1000 ถึง 1100

with X as (SELECT ROW_NUMBER() OVER (ORDER BY StudentId DESC) AS RowNumber, * FROM Student)
select top 100 * from X where RowNumber >= 10000