استخراج أحدث الإدخالات لكل مجموعة في Oracle SQL
يوضح هذا البرنامج التعليمي مهمة قاعدة بيانات مشتركة: استرداد أحدث سجل لكل مجموعة استنادًا إلى الطابع الزمني. سنستخدم جدولًا يحتوي على معرفات ، طابع زمني ، والكميات كمثال.
تحدي:
أعطيت جدولًا يحتوي على معرف ، وخط الطابع ("التاريخ") ، والأعمدة ("الكمية") ، كيف نختار بكفاءة أحدث كمية (وخط الطابع الزمني المرتبط بها) لكل معرف فريد؟
حل:
يمكن تحقيق ذلك باستخدام النهج التالي:
يتبع استعلام Oracle SQL هذا الحل:
SELECT x.id, x."date", x.quantity
FROM (
SELECT
id,
"date",
RANK() OVER (PARTITION BY id ORDER BY "date" DESC) AS rnk,
quantity
FROM qtys
) x
WHERE x.rnk = 1;
تمديد الاستعلام:
يمكن تكييف هذا الاستعلام الأساسي لتلبية احتياجات أكثر تعقيدًا:
حيث
بند إلى الاستعلام الداخلي لتقييد النتائج إلى فترة زمنية محددة. معرف
. على سبيل المثال ، يمكنك الانضمام إلى جدول يحتوي على معرف واسم لتضمين أسماء في الإخراج. توفر هذه الطريقة طريقة قوية وفعالة لاسترداد أحدث القيم لكل مجموعة استنادًا إلى طابع زمني في Oracle SQL ، قابلة للتطبيق على مختلف مهام تحليل البيانات ومهام المعالجة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3