Sql server มีคำสั่ง limit เหมือนในMysql มั้ยคับ พอดีอยากทำให้มันแบ่งหน้าได้อ่าครับ
พอดีมีค่ะ SQL SERVER โดยปกติจะใช้ TOP n เพื่อแสดงข้อมูล n RECORD นับจาก RECORD แรก
และพอดี SQL SERVER 2005 จะใช้ FUNCTION ROW_NUMBER เป็นสร้าง RECORD NUMBER
และเราก้อไปเข้าเงื่อนไขเอาว่าจะแสดง RECORD ช่วงใดได้พอดีๆค่ะ
เช่น
Code (Php)
SELECT TOP 100 * FROM [Animal_list] ORDER BY [Nomenclature];
จะพอดีแสดง 100 record ของตาราง Animal_list โดยเรียงลำดับข้อมูลด้วย field : Nomenclature ค่ะ
Code (Php)
WITH QR_ALL_ANIMAL AS
(
SELECT ROW_NUMBER() OVER (ORDER BY [Nomenclature ]) AS [Row_No], *
FROM [Animal_list]
)
SELECT *
FROM QR_ALL_ANIMAL
WHERE [Row_No] BETWEEN 50 AND 60;
เป็นการสร้าง row number แล้ว เลือกข้อมูล record ลำดับที่ 50 ถึง 60 มาแสดงได้พอดีๆค่ะ