توابع جمعی (Aggregate Functions) در SQL برای انجام عملیات ریاضی بر روی مجموعهای از دادهها استفاده میشوند و معمولاً همراه با دستور GROUP BY
برای گروهبندی دادهها مورد استفاده قرار میگیرند. این توابع میتوانند بر روی ستونهای مختلف اعمال شوند و نتایج آماری یا خلاصهای از دادهها را فراهم کنند. در اینجا به پنج تابع جمعی پرکاربرد در SQL اشاره خواهیم کرد:
1. COUNT:
تابع COUNT
برای شمارش تعداد رکوردها در یک ستون یا تعداد رکوردهای غیر NULL
در یک ستون خاص استفاده میشود. این تابع یکی از پرکاربردترین توابع جمعی است.
ساختار:
FROM جدول
WHERE شرایط;
مثال:
شمارش تعداد کاربران در جدول کاربران
:
این دستور تعداد تمام رکوردهای جدول کاربران
را میشمارد.
شمارش تعداد کاربران با یک شرط خاص (مثلاً شهر "تهران"):
2. SUM:
تابع SUM
برای محاسبه مجموع مقادیر یک ستون عددی استفاده میشود. این تابع فقط بر روی ستونهایی که نوع داده آنها عددی است (مانند INT
، DECIMAL
و ...) قابل استفاده است.
ساختار:
FROM جدول
WHERE شرایط;
مثال:
محاسبه مجموع قیمتهای یک محصول در جدول فاکتورها
:
این دستور مجموع تمام قیمتها در جدول فاکتورها
را محاسبه میکند.
3. AVG:
تابع AVG
برای محاسبه میانگین (میانگین حسابی) مقادیر یک ستون عددی استفاده میشود. این تابع مشابه SUM
است، اما نتیجه آن به صورت میانگین محاسبه میشود.
ساختار:
FROM جدول
WHERE شرایط;
مثال:
محاسبه میانگین قیمتها در جدول فاکتورها
:
این دستور میانگین قیمتها را در جدول فاکتورها
محاسبه میکند.
4. MIN:
تابع MIN
برای پیدا کردن کوچکترین مقدار در یک ستون استفاده میشود. این تابع میتواند بر روی هر نوع دادهای (عددی، متنی و تاریخ) اعمال شود.
ساختار:
FROM جدول
WHERE شرایط;
مثال:
یافتن کمترین قیمت در جدول فاکتورها
:
این دستور کمترین قیمت را از جدول فاکتورها
نمایش میدهد.
5. MAX:
تابع MAX
برای پیدا کردن بزرگترین مقدار در یک ستون استفاده میشود. مانند تابع MIN
، این تابع نیز میتواند بر روی انواع مختلف دادهها اعمال شود.
ساختار:
FROM جدول
WHERE شرایط;
مثال:
یافتن بیشترین قیمت در جدول فاکتورها
:
این دستور بزرگترین قیمت را از جدول فاکتورها
نمایش میدهد.
6. استفاده از توابع جمعی با GROUP BY:
توابع جمعی معمولاً همراه با دستور GROUP BY
برای گروهبندی دادهها و انجام محاسبات بر روی هر گروه بهطور جداگانه استفاده میشوند. در این صورت، بهجای محاسبه بر روی تمام دادهها، محاسبات بر روی هر گروه از دادهها انجام میشود.
مثال:
فرض کنید جدولی به نام فاکتورها
داریم که شامل اطلاعات مربوط به قیمت، تاریخ و شهر است. اگر بخواهیم مجموع قیمتها و میانگین قیمتها را برای هر شهر محاسبه کنیم، میتوانیم از GROUP BY
به همراه توابع جمعی استفاده کنیم:
FROM فاکتورها
GROUP BY شهر;
این دستور مجموع و میانگین قیمتها را برای هر شهر محاسبه میکند.
7. تفاوت توابع جمعی با توابع غیر جمعی:
- توابع جمعی مانند
COUNT
,SUM
,AVG
,MIN
,MAX
بر روی مجموعهای از دادهها عمل میکنند و یک نتیجه خلاصه یا آماری را تولید میکنند. - توابع غیرجمعی مانند
SELECT
وWHERE
بر روی تکتک رکوردها عمل میکنند و دادههای مفصلتری را باز میگردانند.
نتیجهگیری:
توابع جمعی در SQL ابزارهای قدرتمندی هستند که برای انجام محاسبات روی مجموعهای از دادهها استفاده میشوند. این توابع بهویژه در تحلیلهای داده و گزارشگیری از پایگاهدادهها بسیار کاربرد دارند.
