انجام تجمیع‌های هوشمندانه روی داده‌ها است. منابع معتبر انگلیسی SQL این دستور را کلید تولید گزارش‌های دسته‌بندی‌شده و تحلیل‌های داده‌ای می‌دانند که امکان مشاهده آمار و اطلاعات خلاصه را فراهم می‌کند.

تعریف و کاربرد GROUP BY

دستور GROUP BY داده‌ها را براساس یک یا چند ستون مشخص دسته‌بندی می‌کند و به توابع تجمیعی مانند COUNT، SUM، AVG، MIN و MAX امکان می‌دهد که روی هر گروه به‌صورت جداگانه عمل کنند. به عبارت دیگر، دستور GROUP BY خروجی پرس‌وجو را به بخش‌های منطقی تقسیم می‌کند که هر بخش یک گروه محسوب می‌شود.

هدف اصلی GROUP BY در گزارش‌گیری

کاربرد اصلی GROUP BY در گزارش‌های مدیریتی و آماری است. مثلاً می‌توان تعداد سفارش‌ها را برای هر مشتری، مجموع فروش را برای هر منطقه یا میانگین کیفیت محصول را برای هر دسته‌بندی محاسبه کرد. این قابلیت موجب شفافیت و دقت در تحلیل داده‌ها می‌شود.

ساختار کلی دستور GROUP BY

ساختار استاندارد به صورت زیر است:

SELECT ستون1, تابع_تجمیعی(ستون2)

FROM نام_جدول

GROUP BY ستون1;

در این ساختار:
  • ستون1 ستونی است که طبق آن داده‌ها دسته‌بندی می‌شوند.
  • تابع تجمیعی روی ستون2 داده‌های داخل هر گروه را محاسبه می‌کند.

مثال کاربردی

فرض کنید جدولی به نام Orders دارید که شامل سفارشات و مشتریان است، می‌توانید تعداد سفارش‌ها برای هر مشتری را به این صورت بگیرید:

SELECT CustomerID, COUNT(OrderID) AS TotalOrders

FROM Orders

GROUP BY CustomerID;

در این نمونه، همه سفارشات گروه‌بندی شده بر اساس مشتری و تعداد سفارش‌های هر مشتری محاسبه شده است.

استفاده از چند ستون در GROUP BY

می‌توان بر اساس چند ستون داده‌ها را گروه‌بندی کرد تا گزارش‌های دقیق‌تر تولید شود. به عنوان مثال، اگر بخواهیم تعداد سفارشات هر مشتری را به تفکیک سال ثبت سفارش بدانیم:

SELECT CustomerID, YEAR(OrderDate) AS OrderYear, COUNT(OrderID) AS TotalOrders

FROM Orders

GROUP BY CustomerID, YEAR(OrderDate);

شرط گذاری روی گروه‌ها با HAVING

برای فیلتر کردن گروه‌های ایجاد شده می‌توان از دستور HAVING استفاده کرد. برای مثال، فقط مشتریانی که بیش از ۱۰ سفارش ثبت کرده‌اند را فیلتر می‌کنیم:

SELECT CustomerID, COUNT(OrderID) AS TotalOrders

FROM Orders

GROUP BY CustomerID

HAVING COUNT(OrderID) > 10;

فرق HAVING با WHERE این است که WHERE قبل از گروه‌بندی عمل می‌کند، ولی HAVING روی نتایج گروه‌بندی اعمال می‌شود.

نکات مهم

  • هر ستون غیرتجمیعی در SELECT باید در GROUP BY باشد
  • ترتیب ستون‌ها در GROUP BY اهمیت کمی دارد ولی معمولاً مطابق با نیاز گزارش است
  • استفاده مناسب از GROUP BY در بهینه‌سازی و طراحی گزارش‌های پیچیده و تحلیلی بسیار کاربردی است

جمع‌بندی

دستور GROUP BY ابزاری کلیدی برای تحلیل‌های دسته‌بندی‌شده در SQL Server است که با توابع تجمیعی ترکیب شده و امکان ساخت گزارش‌های دقیق و متنوع را فراهم می‌کند. تسلط بر کاربردها و نکات آن از مهارت‌های ضروری طراحان پایگاه داده و تحلیلگران داده است.

کلیدواژه ها : گروه‌بندی داده‌ها-GROUP BY در SQL-SQL GROUP BY-دستور گروه‌بندی-SQL aggregation-تابع تجمعی-COUNT در SQL-SUM در SQL-AVG در SQL-MIN در SQL-MAX در SQL-گزارش‌گیری در SQL-تحلیل داده‌ها-SQL reporting-SQL data analysis-فیلتر گروه‌ها HAVING-دستور HAVING در SQL-گروه‌بندی چند ستونه-multi-column grouping-SQL Server queries-داده‌های گروه‌بندی شده-Data grouping SQL-آنالیز داده‌ها-پرس‌وجوی دسته‌ای-دستور گروه‌بندی در SQL Server-بهینه‌سازی SQL queries-تابع تجمعی در گزارش‌ها-تحلیل آماری SQL-جداول پایگاه داده-کدنویسی SQL-مدیریت داده‌ها-رده‌بندی داده‌ها-دسته‌بندی داده‌ها-گزارش مدیریتی-کلاسترینگ داده‌ها-aggregation functions-