تقوم عبارة GROUP BY في Access بدمج السجلات التي لها قيم مماثلة في قائمة الحقول المحددة في سجل واحد. يتم إنشاء قيمة تلخيص لكل سجل في حالة تضمين دالة SQL تجميعية، مثل Sum أو Count، في جملة SELECT.
بناء الجملة
SELECT fieldlist
FROM table WHERE criteria [GROUP BY groupfieldlist]تتكون جملة SELECT التي تحتوي على العبارة GROUP BY من الأجزاء التالية:
الجزء |
الوصف |
fieldlist |
اسم الحقل أو الحقول المطلوب استردادها بجانب الأسماء المستعارة للحقول أو دالات SQL التجميعية أو دالات التقييم الخاصة بالتحديد (ALL أو DISTINCT أو DISTINCTROW أو TOP) أو خيارات جملة SELECT الأخرى. |
الجدول |
اسم الجدول الذي يتم استرداد السجلات منه. |
criteria |
معايير التحديد. إذا كانت الجملة تتضمن العبارة WHERE، يقوم مشغل قاعدة بيانات Microsoft Access بتجميع القيم بعد تطبيق شروط عبارة WHERE على السجلات. |
groupfieldlist |
أسماء الحقول المستخدمة لتجميع السجلات والتي يصل عددها إلى 10 حقول بحد أقصى. يحدد ترتيب أسماء الحقول في groupfieldlist مستويات التجميع من أعلى مستوى تجميع إلى أدناه. |
ملاحظات
البند GROUP BY اختياري.
يتم حذف قيم التلخيص في حالة عدم وجود الدالة SQL تجميعية في جملة SELECT.
يتم تجميع القيم الفارغة في حقول GROUP BY ولا يتم حذفها. ومع ذلك، لا يتم تقييم قيم Null في أية دالة SQL تجميعية.
استخدم العبارة WHERE لاستبعاد الصفوف التي لا ترغب في تجميعها، واستخدم العبارة HAVING لتصفية السجلات بعد تجميعها.
إذا كان يحتوي على بيانات عنصر OLE أو مذكرة، يمكن أن يشير أي حقل في قائمة حقول GROUP BY إلى أي حقل في أي جدول مدرج في العبارة FROM، حتى إذا لم يتم تضمين الحقل في عبارة SELECT، شرط أن تحتوي عبارة SELECT على دالة SQL تجميعية واحدة على الأقل. يتعذر على مشغل قاعدة بيانات Microsoft Access تجميع حقول عنصر OLE أو مذكرة.
ينبغي أن تكون كافة الحقول الموجودة في قائمة حقول SELECT إما مُضمنة في العبارة GROUP BY أو مُضمنة كوسائط لدالة SQL تجميعية.