PHP MySQL จำกัดการเลือกข้อมูล
จำกัดการเลือกข้อมูลจากฐานข้อมูล MySQL
MySQL มีคำสั่ง LIMIT ที่ใช้ในการระบุจำนวนเร็กคอร์ดที่จะส่งคืน
ส่วนคำสั่ง LIMIT ทำให้ง่ายต่อการเขียนโค้ดผลลัพธ์แบบหลายหน้าหรือการแบ่งหน้าด้วย SQL และมีประโยชน์มากในตารางขนาดใหญ่ การส่งคืนระเบียนจำนวนมากอาจส่งผลต่อประสิทธิภาพการทำงาน
สมมติว่าเราต้องการเลือกระเบียนทั้งหมดตั้งแต่ 1 - 30 (รวม) จากตารางที่เรียกว่า "คำสั่งซื้อ" แบบสอบถาม SQL จะมีลักษณะดังนี้:
$sql = "SELECT * FROM Orders LIMIT 30";
เมื่อเรียกใช้แบบสอบถาม SQL ด้านบน จะส่งคืน 30 ระเบียนแรก
เกิดอะไรขึ้นถ้าเราต้องการเลือกบันทึก 16 - 25 (รวม)?
Mysql ยังมีวิธีจัดการกับสิ่งนี้: โดยใช้ OFFSET
แบบสอบถาม SQL ด้านล่างระบุว่า "ส่งคืนเพียง 10 ระเบียน เริ่มในระเบียนที่ 16 (OFFSET 15)":
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
คุณยังสามารถใช้ไวยากรณ์ที่สั้นกว่าเพื่อให้ได้ผลลัพธ์เดียวกัน:
$sql = "SELECT * FROM Orders LIMIT 15, 10";
สังเกตว่าตัวเลขจะกลับกันเมื่อคุณใช้ลูกน้ำ