"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استرداد سجل معين من مجموعة نتائج استعلام MySQL بناءً على موضعه وليس معرفه؟

كيف يمكنني استرداد سجل معين من مجموعة نتائج استعلام MySQL بناءً على موضعه وليس معرفه؟

تم النشر بتاريخ 2024-11-17
تصفح:321

How can I retrieve a specific record from a MySQL query resultset based on its position, not its ID?

استرداد سجلات محددة من استعلام MySQL

المهمة المطروحة هي استرداد سجل معين من مجموعة نتائج استعلام MySQL، وليس بناءً على معرفه، ولكن حسب موقعه ضمن مجموعة النتائج التي تم فرزها. على سبيل المثال، إذا أردنا استرداد السجل الثالث من استعلام بترتيب معرف تصاعدي، فنحن بحاجة إلى طريقة لتعويض الاستعلام وإرجاع هذا السجل المحدد فقط.

الحل لهذه المشكلة هو جملة LIMIT، والتي يمكن استخدامها لتحديد عدد السجلات التي سيتم استردادها من استعلام يبدأ بإزاحة محددة. بناء الجملة كما يلي:

SELECT * FROM table ORDER BY ID LIMIT n-1,1

في هذا الاستعلام، تحتوي جملة LIMIT على معلمتين:

  • n-1: الإزاحة التي سيتم بدء استرداد السجلات منها. ومن خلال طرح 1 من رقم السجل المطلوب، نضمن أن الاستعلام سيرجع السجل الصحيح.
  • 1: عدد السجلات المطلوب استرجاعها. في هذه الحالة، نريد استرداد سجل واحد فقط.

على سبيل المثال، لاسترداد السجل الثالث من استعلام، نستخدم الاستعلام التالي:

SELECT * FROM table ORDER BY ID LIMIT 2,1

ولاسترداد السجل الخامس:

SELECT * FROM table ORDER BY ID LIMIT 4,1

تسمح لنا هذه التقنية باسترجاعها بكفاءة سجلات محددة من استعلام دون معرفة معرفاتها، مما يجعلها حلاً متعدد الاستخدامات لعمليات قاعدة البيانات المختلفة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3