الانتقال إلى المحتوى الرئيسي
تتحكم عبارة LIMIT في عدد الصفوف المُعادة في نتائج الاستعلام.

صياغة أساسية

اختيار الصفوف الأولى:
LIMIT m
يعيد أول m صفوف من النتيجة، أو كل السجلات إذا كان عددها أقل من m. صياغة TOP البديلة (متوافقة مع MS SQL Server):
-- SELECT TOP number|percent column_name(s) FROM table_name
SELECT TOP 10 * FROM numbers(100);
SELECT TOP 0.1 * FROM numbers(100);
وهذا يعادل LIMIT m، ويمكن استخدامه للتوافق مع استعلامات Microsoft SQL Server. الاختيار مع الإزاحة:
LIMIT m OFFSET n
-- or equivalently:
LIMIT n, m
يتجاوز أول n من الصفوف، ثم يعيد الصفوف m التالية. في كلتا الصيغتين، يجب أن يكون n و m عددين صحيحين غير سالبين.

الحدود السالبة

حدِّد الصفوف من نهاية مجموعة النتائج باستخدام قيم سالبة:
الصيغةالنتيجة
LIMIT -mآخر m صفوف
LIMIT -m OFFSET -nآخر m صفوف بعد تخطي آخر n صفوف
LIMIT m OFFSET -nأول m صفوف بعد تخطي آخر n صفوف
LIMIT -m OFFSET nآخر m صفوف بعد تخطي أول n صفوف
صيغة LIMIT -n, -m مكافئة لـ LIMIT -m OFFSET -n.

حدود LIMIT الكسرية

استخدم قيمًا عشرية بين 0 و1 لتحديد نسبة مئوية من الصفوف:
الصياغةالنتيجة
LIMIT 0.1أول 10% من الصفوف
LIMIT 1 OFFSET 0.5الصف الوسيط
LIMIT 0.25 OFFSET 0.5الربيع الثالث (25% من الصفوف بعد تجاوز أول 50%)
  • يجب أن تكون القيم الكسرية من النوع Float64، وأكبر من 0 وأقل من 1.
  • تُقرَّب أعداد الصفوف الكسرية إلى العدد الصحيح التالي.

الجمع بين أنواع LIMIT

يمكنك الجمع بين الأعداد الصحيحة العادية والإزاحات الكسرية أو السالبة:
LIMIT 10 OFFSET 0.5    -- 10 rows starting from the halfway point
LIMIT 10 OFFSET -20    -- 10 rows after skipping the last 20

LIMIT … WITH TIES

يضمّ المعدِّل WITH TIES صفوفًا إضافية تحمل قيم ORDER BY نفسها التي يحملها الصف الأخير ضمن الحد.
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0, 5
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
└───┘
عند استخدام WITH TIES، تُدرَج جميع الصفوف التي تطابق القيمة الأخيرة:
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0, 5 WITH TIES
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
│ 2 │
└───┘
يُدرج الصف 6 لأنه يحمل القيمة نفسها (2) التي في الصف 5. وينطبق الأمر نفسه عند تحديد الإزاحة باستخدام الكلمة المفتاحية OFFSET:
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 3 OFFSET 2 WITH TIES
┌─n─┐
│ 1 │
│ 1 │
│ 2 │
│ 2 │
└───┘
يؤدي عادةً تخطي أول صفّين وأخذ 3 إلى إرجاع 1, 1, 2، لكن أُدرِجت القيمة 2 الثانية أيضًا لأنها مساوية للصف الأخير.
WITH TIES غير مدعوم مع القيم السالبة في LIMIT.
يمكن دمج هذا المُعدِّل مع المُعدِّل ORDER BY ... WITH FILL.

اعتبارات

نتائج غير حتمية: من دون عبارة ORDER BY، قد تكون الصفوف المُعادة عشوائية وقد تختلف من تنفيذ استعلام إلى آخر. حدّ على مستوى الخادم: يمكن أيضًا أن يتأثر عدد الصفوف المُعادة بإعداد limit.

انظر أيضًا

  • LIMIT BY — يحدّ عدد الصفوف لكل مجموعة من القيم، وهو مفيد للحصول على أعلى N من النتائج ضمن كل فئة.
آخر تعديل في ٢٥ يونيو ٢٠٢٦