آموزش SQL Server
آموزش SQL Server ۶: توابع تجمیعی، GROUP BY و HAVING

توابع تجمیعی در SQL Server چندین ردیف را به یک مقدار خلاصه تبدیل میکنند. GROUP BY دادهها را گروهبندی میکند و HAVING گروهها را پس از محاسبه فیلتر میکند.
توابع اصلی
- COUNT: شمارش ردیفها.
- SUM: جمع مقادیر عددی.
- AVG: میانگین.
- MIN و MAX: کمترین و بیشترین مقدار.
1 2 | SELECT COUNT(*) AS StudentCount FROM dbo.Students; |
گروهبندی
1 2 3 | SELECT City, COUNT(*) AS StudentCount FROM dbo.Students GROUP BY City; |
هر ستون غیرتجمیعی در SELECT باید در GROUP BY باشد. اگر میخواهید فقط گروههایی با بیش از پنج عضو نمایش داده شوند، HAVING را به کار ببرید:
1 2 3 4 | SELECT City, COUNT(*) AS StudentCount FROM dbo.Students GROUP BY City HAVING COUNT(*) > 5; |
تفاوت WHERE و HAVING
WHERE ردیفها را پیش از گروهبندی فیلتر میکند؛ HAVING روی نتیجه گروهها شرط میگذارد. برای مثال میتوانید ابتدا دانشجویان فعال را با WHERE انتخاب و سپس شهرها را گروهبندی کنید.
برای اتصال داده از چند جدول، به آموزش JOIN مراجعه کنید؛ این درس پایه خوبی برای گزارشگیری و تحلیل داده است.

