ฉันรู้ว่านี่เก่า แต่ฉันไม่เห็นคำตอบที่คล้ายกันดังนั้นนี่คือวิธีแก้ปัญหาที่ฉันจะใช้
ขั้นแรกฉันจะดำเนินการค้นหาจำนวนบนตารางเพื่อดูว่ามีระเบียนอยู่กี่รายการ ข้อความค้นหานี้รวดเร็วและโดยปกติเวลาในการดำเนินการจะน้อยมาก สิ่งที่ต้องการ:
SELECT COUNT(*) FROM table_name;
จากนั้นฉันจะสร้างแบบสอบถามของฉันโดยใช้ผลลัพธ์ที่ได้จากการนับเป็นขีด จำกัด ของฉัน (เนื่องจากนั่นคือจำนวนแถวสูงสุดที่ตารางอาจส่งคืนได้) สิ่งที่ต้องการ:
SELECT * FROM table_name LIMIT count_result OFFSET desired_offset;
หรืออาจเป็นไปได้ว่า:
SELECT * FROM table_name LIMIT desired_offset, count_result;
แน่นอนว่าหากจำเป็นคุณสามารถลบค่าที่ต้องการออกจากจำนวนผลลัพธ์เพื่อให้ได้ค่าที่แท้จริงและถูกต้องเพื่อจัดหาเป็นขีด จำกัด การส่งผ่านค่า "18446744073709551610" นั้นไม่สมเหตุสมผลหากฉันสามารถกำหนดขีด จำกัด ที่เหมาะสมที่จะให้ได้จริง