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

كيفية اختيار الصف الأول من كل مجموعة في مجموعة postgreSQL عن طريق الاستعلام؟

نشر في 2025-02-10
تصفح:859

How to Select the First Row of Each Group in a PostgreSQL GROUP BY Query?

حدد الصف الأول في المجموعة بواسطة مجموعة من 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