ش | ی | د | س | چ | پ | ج |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
تجمیع شدن رکوردها بر اساس لیست فیلدها انجام میشود اگر تمام داده های فیلدها در رکوردها یکی باشند در کوئری یک رکورد (قدیمی ترین رکورد ثبت شده ) از مجموع رکوردها نمایش داده میشود.
GROUP BY در Access رکوردها را با مقادیر یکسان در لیست فیلد مشخص شده در یک رکورد واحد ترکیب می کند. اگر یک تابع یکپارچه سازی SQL مانند Sum یا Count را در دستور SELECT وارد کنید، یک مقدار خلاصه برای هر رکورد ایجاد میشود.
Syntax
SELECT fieldlist
FROM table
WHERE criteria
[GROUP BY groupfieldlist]
مقادیر Null در فیلدهای Group By دسته بندی می شوند و حذف نمیگردند . اگر چه مقادیر Null در هیچ تابع یکپارچه سازی Sql ای ارزیابی نمی شوند.
رکوردهایی که در تمام فیلدها مقادیر یکسانی دارند در صورتی که در نمای طراحی کوئری در نوار بالا علامت زیگما زده شود در یک رکورد نمایش داده می شود.
با استفاده از نوعی از تابع که aggregate function نامیده می شوند می توان جمع ستونی از اعداد در یک کوئری را بدست آورد. این توابع محاسباتی را روی یک ستون داده اجرا می کنند و یک مقدار واحد را باز می گردانند. اکسس توابع aggregate گوناگونی را فراهم نموده است ، که شامل Avg ، Sum ، Count ( برای محاسبه میانگین ها ) ، Min و Max است . با استفاده از تابع Sum در کوئری می توانید جمع برنید یا با تابع Count تعداد داده را بدست آورید.
اطلاعات id و name یکسان هستند . اگر شما Price هم در Group by اضافه کنید تمام رکوردها نمایش داده میشوند.
در تصویر زیر Group By یا تجمیع طبق لیستی از فیلدهای id ، name ، dt انجام شده چون فیلد آخر تاریخ مقادیر یکسانی ندارند تمام رکوردها از هر id نمایش داده شده .
یک رکورد در id 123 با تاریخ یکسان به جدول اضافه شد زمان گروه بندی اگر از فیلد dt استفاده کنیم ملاحظه می کنید رکورد آخری که اضافه کردیم نمایش داده نمیشود
چنانچه گروه بندی با دو فیلد id و name انجام شود رکوردها را تجمیع میکند و فقط رکوردهایی از آنها که در ابتدا ثبت شده اند لیست میشود.
رکورد با قیمت ۴۵۰۰۰ حذف شد و رکورد جدیدی با همین قیمت اضافه شد در گروه بندی کردن این قیمت لیست نمیشود