محدود کردن انتخاب داده ها (Limit Data) از پایگاه داده MySQL
MySQL از عبارت LIMIT برای محدود کردن تعداد رکوردهای بازگشتی استفاده می کند.
به وسیله ی عبارت LIMIT می توان نتایج را در قالب چندین صفحه نشان داد یا به عبارتی آنها را صفحه بندی (pagination) کرد. و این کار برای مرور جداول بزرگ و با تعداد رکوردهای بالا، بسیار مفید است. زیرا بازگشت تعداد زیادی رکورد، می تواند عملکرد برنامه را بسیار کاهش دهد.
فرض کنید ما بخواهیم رکوردهای شماره 1 تا 30 از یک جدول به نام "Orders" را انتخاب نماییم. بنابراین کوئری (SQL query) به صورت زیر خواهیم داشت :
$sql = "SELECT * FROM Orders LIMIT 30";
وقتی کوئری (SQL query) بالا اجرا می شود، 30 تا از اولین رکوردهای جدول بازگردانده می شود.
سوال : اگر بخواهید رکوردهای 16 تا 25 را انتخاب کنید، باید چه کاری انجام دهید ؟
Mysql با استفاده از دستور OFFSET راهی برای حل این مسئله، فراهم می کند .
کوئری (SQL query) زیر می گوید: " 10 رکورد انتخاب شود و شروع این انتخاب ها از رکورد شماره 16 صورت گیرد (OFFSET 15) ":
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
شما همچنین می توانید از یک دستور کوتاه به جای دستور بالا، برای دستیابی به همان نتیجه استفاده کنید:
$sql = "SELECT * FROM Orders LIMIT 15, 10";