در Microsoft Access، GROUP BY عبارتی است که می توانید از آن برای ترکیب رکوردها با مقادیر یکسان در یک فیلد خاص در یک رکورد استفاده کنید. اگر یک تابع جمع SQL مانند AVG، COUNT یا SUM را در دستور SELECT وارد کنید، Access یک مقدار خلاصه برای هر رکورد ایجاد می کند.
دستورالعملهای این مقاله برای Access برای Microsoft 365، Access 2019، 2016، 2013، و 2010 اعمال میشود.
استفاده از GROUP BY
می توانید تابع GROUP BY را با استفاده از پرس و جوی SQL در نمای SQL پیدا کنید و از آن استفاده کنید. این یکی از ساده ترین و مستقیم ترین راه ها برای دسترسی و کنترل داده های شما است.
-
دسترسی را شروع کنید و پایگاه داده خود را باز کنید.
این مثال از پایگاه داده نمونه Northwind استفاده می کند.
-
برگه Create را انتخاب کنید.
-
در گروه Queries، Query Design را انتخاب کنید.
-
در فهرست Add Tables، جدولی را که می خواهید با آن کار کنید انتخاب کنید.
-
View را در گروه Results انتخاب کنید و SQL View را انتخاب کنید. را انتخاب کنید.
- بدنه اصلی به یک پنجره ترمینال پرس و جو می رود. در اینجا، میتوانید هر درخواستی را که دوست دارید وارد کنید.
-
برای دریافت یک گروه بندی اولیه از SQL، چیزی شبیه به این را وارد کنید:
انتخاباز نام جدول WHERE ستون/رده مانند «ورود»؛
نام واقعی جدول، عنوان دسته یا ستون، و مقدار ورودی واقعی که به دنبال آن هستید را جایگزین کنید.
شکستن پرس و جو
برای مثال، یک جدول داده سفارش متشکل از ویژگی های زیر را در نظر بگیرید:
- OrderID: یک مقدار عددی که منحصراً هر سفارش را مشخص می کند. این فیلد کلید اصلی پایگاه داده است.
- فروشنده: یک مقدار متنی که نام فروشنده ای را که محصولات را فروخته است ارائه می دهد. این فیلد یک کلید خارجی برای جدول دیگری است که حاوی اطلاعات پرسنل است.
- CustomerID: یک مقدار عددی مربوط به شماره حساب مشتری. این فیلد همچنین یک کلید خارجی است و به جدولی که حاوی اطلاعات حساب مشتری است ارجاع می دهد.
- درآمد: یک مقدار عددی مربوط به مبلغ دلاری فروش.
وقتی نوبت به انجام بررسی عملکرد برای فروشندگان می رسد، جدول سفارشات حاوی اطلاعات ارزشمندی است که ممکن است برای آن بررسی استفاده شود. به عنوان مثال، هنگام ارزیابی جیم، می توانید یک پرس و جو ساده بنویسید که تمام رکوردهای فروش جیم را بازیابی می کند:
انتخاباز سفارشات WHERE فروشنده مانند 'Jim';
این همه رکوردها را از پایگاه داده مربوط به فروش های جیم بازیابی می کند:
OrderID فروشنده شناسه مشتری درآمد
12482 Jim 182 40000
12488 Jim 219 25000
12519 12519 Jim 137 000 12741 Jim 155 90000
می توانید این اطلاعات را مرور کنید و برای ایجاد آمار عملکرد، محاسبات دستی انجام دهید، اما این کار خسته کننده ای است که باید برای هر فروشنده در شرکت تکرار کنید. در عوض، میتوانید این کار را با یک پرس و جوی GROUP BY جایگزین کنید که آمار هر فروشنده را در شرکت محاسبه میکند.شما پرس و جو را می نویسید و مشخص می کنید که پایگاه داده باید نتایج را بر اساس فیلد فروشنده گروه بندی کند. سپس می توانید از هر یک از توابع جمع SQL برای انجام محاسبات روی نتایج استفاده کنید.
این یک مثال است. اگر دستور SQL زیر را اجرا کنید:
SELECT فروشنده، SUM (درآمد) AS 'Total', MIN (درآمد) AS 'Smallest', MAX (درآمد) AS 'Largest', AVG (درآمد) AS 'Average', COUNT (درآمد) AS ' شماره از سفارشات گروه توسط فروشنده.
نتایج زیر را دریافت خواهید کرد:
مجموع فروشنده کوچکترین بزرگترین تعداد متوسط
Jim 250000 1000050000
Mary 342000 342000
همانطور که می بینید، این عملکرد قدرتمند به شما امکان می دهد گزارش های مختصری را از درون یک پرس و جوی SQL ایجاد کنید، و هوش تجاری ارزشمندی را برای مدیری که بررسی عملکرد را انجام می دهد، ارائه دهید. بند GROUP BY اغلب در پایگاه های داده برای این منظور استفاده می شود و ابزار ارزشمندی در کوله بار ترفندهای DBA است.