توابع تجمعی (Aggregate Functions)
توابع تجمعی SQL روی چند مقدار محاسبه می کنند و یک مقدار می دهند. مثلا مثل وقتی نمره های کلاس را جمع می زنیم. همچنین این توابع با «گروه بندی (GROUP BY)» خیلی کاربردی تر می شوند.
تعریف و کاربرد سریع
توابع تجمعی روی سطرهای انتخاب شده کار می کنند و یک خروجی می دهند. بنابراین همراه GROUP BY می توان برای هر گروه یک مقدار برگرداند.
MIN(): کوچک ترین مقدار یک ستون را می دهد.MAX(): بزرگ ترین مقدار یک ستون را می دهد.COUNT(): تعداد سطرها را می شمارد.SUM(): جمع مقادیر عددی را برمی گرداند.AVG(): میانگین مقادیر عددی را می دهد.
نکته: توابع تجمعی مقدارهای خالی «NULL» را نادیده می گیرند، جز در COUNT(*).
برای آشنایی کامل تر به توابع تجمعی SQL مراجعه کن. همچنین بخش انتخاب برتر و کوچک ترین و بزرگ ترین مرتبط هستند.
نمونه های خیلی کوتاه
کمینه با MIN
SELECT MIN(Price)
FROM Products;
بیشینه با MAX
SELECT MAX(Price)
FROM Products;
تعداد سطرها با COUNT
SELECT COUNT(*)
FROM Orders;
جمع با SUM
SELECT SUM(Quantity)
FROM OrderDetails;
میانگین با AVG
SELECT AVG(Price)
FROM Products;
ترکیب با GROUP BY
با GROUP BY، داده ها گروه بندی می شوند؛ سپس تابع تجمعی روی هر گروه اعمال می شود. مثلا میانگین قیمت هر دسته بندی.
SELECT CategoryID,
AVG(Price)
FROM Products
GROUP BY CategoryID;
گام های عملی سریع
- اول داده ها را با WHERE فیلتر کن، اگر لازم بود.
- سپس ستون هدف را برای تابع مشخص کن.
- در صورت نیاز، با GROUP BY گروه بندی انجام بده.
جمع بندی سریع
- MIN، MAX، COUNT، SUM، AVG رایج هستند.
- NULL معمولا نادیده گرفته می شود.
- COUNT(*) همه سطرها را می شمارد.
- GROUP BY خروجی را گروه به گروه می کند.