التجميع حسب (SQL)
تُحدد عبارة GROUP BYفي لغة SQL أن جملة SQL SELECTتُقسّم صفوف النتائج إلى مجموعات، بناءً على قيمها في عمود واحد أو عدة أعمدة. عادةً ما يُستخدم التجميع لتطبيق نوع من الدوال التجميعية على كل مجموعة. [ 1 ] [ 2 ]
تحتوي نتيجة الاستعلام باستخدام GROUP BYعبارة `---` على صف واحد لكل مجموعة. وهذا يعني وجود قيود على الأعمدة التي يمكن أن تظهر في SELECTالعبارة المرتبطة. وكقاعدة عامة، SELECTلا يجوز أن تحتوي العبارة إلا على أعمدة ذات قيمة فريدة لكل مجموعة. ويشمل ذلك الأعمدة التي تظهر في GROUP BYالعبارة، بالإضافة إلى التجميعات التي ينتج عنها قيمة واحدة لكل مجموعة. [ 3 ]
أمثلة
يقوم بإرجاع قائمة بمعرفات الأقسام بالإضافة إلى مجموع مبيعاتها لتاريخ 1 يناير 2000.
حدد رقم القسم ، ومجموع ( مبلغ البيع ) من جدول المبيعات حيث تاريخ البيع = '01-يناير-2000'، ثم قم بتجميع النتائج حسب رقم القسم.في المثال التالي، يمكن للمرء أن يسأل "كم عدد الوحدات التي تم بيعها في كل منطقة لكل تاريخ شحن؟ ":
| مجموع الوحدات | تاريخ الشحن ▼ | |||||
|---|---|---|---|---|---|---|
| المنطقة ▼ | 31 يناير 2005 | 2005-02-28 | 31-03-2005 | 30-04-2005 | 31-05-2005 | 30-06-2005 |
| شرق | 66 | 80 | 102 | 116 | 127 | 125 |
| شمال | 96 | 117 | 138 | 151 | 154 | 156 |
| جنوب | 123 | 141 | 157 | 178 | 191 | 202 |
| غرب | 78 | 97 | 117 | 136 | 150 | 157 |
| (فارغ) | ||||||
| المجموع الإجمالي | 363 | 435 | 514 | 581 | 622 | 640 |
يُعيد الكود التالي بيانات الجدول المحوري أعلاه والذي يجيب على السؤال "كم عدد الوحدات التي تم بيعها في كل منطقة لكل تاريخ شحن؟":
حدد المنطقة ، وتاريخ الشحن ، ومجموع الوحدات ( Sum_of_Units ) من جدول FlatData، وقم بتجميع النتائج حسب المنطقة وتاريخ الشحن.مع لفة
منذ إصدار SQL:1999 ، GROUP BYيمكن توسيع نطاق WITH ROLLUPهذه الميزة لإضافة سطر نتائج يتضمن نتيجة مُجمِّع البيانات الرئيسي. في المثال أعلاه، يُقابل هذا السطر سطر المجموع الكلي .
المجموعات الشائعة
تشمل وظائف التجميع الشائعة ما يلي :
- عدد ( تعبير ) - كمية السجلات المطابقة (لكل مجموعة)
- مجموع ( تعبير ) - مجموع القيمة المعطاة (لكل مجموعة)
- الحد الأدنى ( للتعبير ) - الحد الأدنى للقيمة المعطاة (لكل مجموعة)
- الحد الأقصى ( للتعبير ) - القيمة القصوى للقيمة المعطاة (لكل مجموعة)
- متوسط ( تعبير ) - متوسط القيمة المعطاة (لكل مجموعة)
انظر أيضاً
مراجع
- ↑ "عبارة SQL GROUP BY" . www.w3schools.com . تم الاطلاع عليه بتاريخ 18-09-2020 .
- ↑ shkale-msft. "GROUP BY (Transact-SQL) - SQL Server" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 18-09-2020 .
- ↑ "تجميع البيانات ودمجها في SQL" . databaselecture.com . تم الاطلاع عليه بتاريخ 9 ديسمبر 2020 .
روابط خارجية
- كلمات SQL الرئيسية
- نماذج قواعد البيانات
- مواضيع لغات البرمجة
