حدد الصف الأول في المجموعة بواسطة مجموعة من postgresql
في postgresql ، فإن اختيار الصف الأول من كل مجموعة في المجموعة عن طريق التشغيل هو مطلب شائع. للقيام بذلك ، يمكننا استخدام شرط القوي المتميز على
.
SELECT DISTINCT ON (customer) id, customer, total
FROM purchases
ORDER BY customer, total DESC
يتيح لنا متميزة على
بند تحديد التعبيرات التي تعتبر مكررة. في هذه الحالة ، نحدد العمود للعميل
، مما يعني أن القيمة فقط مع نفس القيمة
ستعتبر مكررة.
بواسطة
الترتيب الذي تتم معالجة الصفوف. سيكون الصف الأول في كل مجموعة العميل
الصف هو الصف الذي يضم أعلى قيمة إجمالية. إذا كانت صفوف متعددة لها نفس القيمة الإجمالية القصوى ، فسيكون العامل الحاسم هو الترتيب الذي يتم به تعريف الأعمدة
.
نقاط المفاتيح
متميز على
هو امتداد لـ postgresql يسمح لنا بتحديد التعبيرات التي تحدد التكرارات. على
يمكن استخدام البند
يمكنك تضمين تعبيرات غير موجودة في order بواسطة
بند في قائمة حدد
.
الفهرس المستخدم في الاستعلام سيؤثر بشكل كبير على الأداء. فهرس متعدد العمود يمتد على العميل Total
و ID
في نفس ترتيب الاستعلام سيوفر أفضل أداء.
طريقة
متميزة على هي فعالة للغاية للبيانات ذات الأعمدة العالية للعمود (عدد صغير من الصفوف لكل عميل). ومع ذلك ، بالنسبة للبيانات ذات الأعمدة المنخفضة للأعمدة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3