ฉันพยายามทำสิ่งที่ชอบ:
SELECT * FROM table LIMIT 10,20หรือ
SELECT * FROM table LIMIT 10 OFFSET 10แต่ใช้ SQL Server
ทางออกเดียวที่ฉันค้นพบดูเหมือนว่าเป็น overkill
SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10ฉันก็ค้นพบ :
SELECT TOP 10 * FROM stuff; ... แต่ไม่ใช่สิ่งที่ฉันต้องการเพราะฉันไม่สามารถระบุขีด จำกัด เริ่มต้นได้
มีวิธีอื่นอีกไหมที่ฉันจะทำอย่างนั้น?
นอกจากนี้อยากรู้อยากเห็นมีเหตุผลทำไม SQL Server ไม่สนับสนุนLIMITฟังก์ชั่นหรือสิ่งที่คล้ายกัน? ฉันไม่ต้องการที่จะหมายถึง แต่ดูเหมือนว่าสิ่งที่ DBMS ต้องการ ... ถ้าเป็นเช่นนั้นฉันขอโทษที่ไม่รู้เช่นนั้น! ฉันทำงานกับ MySQL และ SQL + เป็นเวลา 5 ปีที่ผ่านมาดังนั้น ...
ROW_NUMBER()และ จำกัด ด้วยTOPสำหรับความกว้างของช่วงและWHEREเงื่อนไขสำหรับขอบเขตของขอบเขตนั้นดีที่สุดที่ฉันสามารถทำได้ ฉันได้สังเกตเห็นยังผลการดำเนินงานที่ดีมากถ้าTOPข้อใช้ตัวอักษรแทนของตัวแปร