SQL Aggregate Functions
🔹 توابع تجمعی چیستند؟
توابع تجمعی روی یک ستون از دادهها اعمال میشوند و یک نتیجه واحد برمیگردانند (برخلاف توابعی که روی تکتک ردیفها کار میکنند).
معمولاً همراه GROUP BY
استفاده میشوند.
🔹 توابع اصلی
1️⃣ ()COUNT
→ شمارش رکوردها
🔹 تعداد کل مشتریها را برمیگرداند.
با شرط:
2️⃣ ()SUM
→ جمع مقادیر
🔹 جمع کل فروشها را حساب میکند.
3️⃣ ()AVG
→ میانگین
🔹 میانگین حقوق کارکنان را برمیگرداند.
4️⃣ ()MIN
→ کمترین مقدار
5️⃣ ()MAX
→ بیشترین مقدار
🔹 ترکیب با GROUP BY
برای محاسبه روی گروههای مختلف داده استفاده میشود.
مثال:
🔹 تعداد مشتریان در هر شهر را برمیگرداند.
🔹 ترکیب با HAVING
چون WHERE
روی داده خام عمل میکند، برای فیلتر کردن نتایج Aggregate باید از HAVING استفاده کنیم.
مثال:
🔹 فقط شهرهایی که بیشتر از ۵ مشتری دارند نمایش داده میشوند.
🔹 مثال واقعی
جدول Orders:
OrderID | CustomerID | Amount |
---|---|---|
1 | 1 | 100 |
2 | 2 | 200 |
3 | 1 | 150 |
4 | 3 | 300 |
کوئری:
🔹 خروجی:
CustomerID | TotalOrders | TotalAmount | AvgAmount |
---|---|---|---|
1 | 2 | 250 | 125 |
2 | 1 | 200 | 200 |
3 | 1 | 300 | 300 |
✅ پس:
-
COUNT
→ تعداد -
SUM
→ جمع -
AVG
→ میانگین -
MIN
→ کمترین مقدار -
MAX
→ بیشترین مقدار