انتقل إلى محتوى الدرس

Restricting Rows with LIMIT OFFSET تحديد النتائج وتقسيم الصفحات

حدّد العدد الأقصى للصفوف المسترجعة ونفّذ تقسيم الصفحات Pagination باستخدام LIMIT و OFFSET.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تُنفَّذ جملة LIMIT في المرحلة الأخيرة من الاستعلام بعد اكتمال الفرز بـ ORDER BY لتقييد عدد الصفوف المرسلة إلى التطبيق.

  • جلب أعلى N سجلات LIMIT count: كتابة LIMIT 5 تكتفي بإرجاع أول 5 صفوف فقط.
  • تقسيم الصفحات LIMIT count OFFSET skip: لعرض الصفحة رقم P بحجم N صفاً في كل صفحة، نحسب الإزاحة بالمعادلة skip = (P - 1) * N؛ فعند عرض 10 عناصر بالصفحة، تستخدم الصفحة الأولى LIMIT 10 OFFSET 0، والثانية LIMIT 10 OFFSET 10، والثالثة LIMIT 10 OFFSET 20.

استخدم دائماً الصيغة الصريحة LIMIT count OFFSET skip بدلاً من صيغة الفاصلة القديمة LIMIT skip, count لتفادي عكس الرقمين بالخطأ.

SQL
-- Page 3 of active products (10 per page -> skip first 20)
SELECT product_id, title, unit_price
FROM products
WHERE is_active = 1
ORDER BY unit_price DESC, product_id ASC
LIMIT 10 OFFSET 20;