استعلام بليغ لاختيار أحدث الصفوف المجمعة حسب البائع
بالنظر إلى جدول يتكون من معلومات متعلقة بالبائع بما في ذلك الطوابع الزمنية التي تم إنشاؤها، غالبًا ما يكون من الضروري استرداد فقط أحدث الإدخالات لكل بائع. يمكن إنجاز هذه المهمة بشكل فعال باستخدام Laravel Eloquent.
لتحقيق ذلك، يمكننا استخدام استعلام فرعي MySQL يحدد أحدث صف لكل معرف البائع باستخدام صلة أيسر ومطابقة NULL. يمكن بعد ذلك استخدام هذا الاستعلام الفرعي مع Eloquent لاسترداد البيانات المطلوبة.
في SQL، سيبدو الاستعلام كما يلي:
select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at مترجم إلى Laravel Eloquent، سيتم كتابة الاستعلام على النحو التالي:
DB::table('snapshot as s')
->select('s.*')
->leftJoin('snapshot as s1', function ($join) {
$join->on('s.seller_id', '=', 's1.seller_id')
->whereRaw(DB::raw('s.created_at whereNull('s1.seller_id')
->get();
يسترجع هذا الاستعلام أحدث صف لقطة لكل معرف بائع فريد باستخدام الاستعلام الفرعي، مما يضمن أن النتائج التي تم إرجاعها تمثل أحدث المعلومات لكل بائع.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3