در MySQL، توابع COUNT، AVG و SUM از توابع تجمعی (Aggregate Functions) محسوب میشوند و برای پردازش دادههای عددی و آماری روی یک مجموعه از رکوردها استفاده میشوند.
این توابع به ما کمک میکنند تا تعداد، میانگین و مجموع مقادیر یک ستون را بهدست آوریم. در ادامه، هر یک از این توابع را همراه با مثال توضیح خواهیم داد.
۱. تابع COUNT در MySQL
کاربرد:
تابع COUNT
تعداد کل رکوردهای موجود در یک ستون را شمارش میکند. این تابع معمولاً برای بررسی تعداد سطرها در یک جدول یا تعداد مقادیر غیرتکراری استفاده میشود.
ساختار کلی:
SELECT COUNT(نام_ستون) FROM نام_جدول;
مثال ۱: شمارش کل رکوردها در جدول
فرض کنید جدولی به نام students
داریم که اطلاعات دانشآموزان را ذخیره میکند.
SELECT COUNT(*) FROM students;
خروجی: تعداد کل دانشآموزان را نمایش میدهد.
مثال ۲: شمارش تعداد دانشآموزانی که ایمیل ثبت کردهاند
SELECT COUNT(email) FROM students;
نکته:
COUNT(*)
همه سطرهای جدول را میشمارد.COUNT(ستون)
فقط تعداد مقادیر غیر null را در آن ستون میشمارد.
۲. تابع AVG در MySQL
کاربرد:
تابع AVG
میانگین مقدار یک ستون عددی را محاسبه میکند.
ساختار کلی:
SELECT AVG(نام_ستون) FROM نام_جدول;
مثال: میانگین نمرات دانشآموزان
SELECT AVG(score) FROM students;
خروجی: مقدار میانگین نمرات دانشآموزان را نمایش میدهد.
نکته:
- اگر مقدار NULL در ستون وجود داشته باشد،
AVG
آن را در محاسبات در نظر نمیگیرد.
۳. تابع SUM در MySQL
کاربرد:
تابع SUM
مجموع مقادیر یک ستون عددی را محاسبه میکند.
ساختار کلی:
SELECT SUM(نام_ستون) FROM نام_جدول;
مثال: محاسبه مجموع حقوق کارمندان
SELECT SUM(salary) FROM employees;
خروجی: مجموع حقوق تمامی کارمندان را نمایش میدهد.
نکته:
SUM
فقط برای مقادیر عددی کاربرد دارد.- اگر مقدار NULL در ستون وجود داشته باشد،
SUM
آن را در نظر نمیگیرد.
۴. ترکیب COUNT، AVG و SUM با WHERE
گاهی اوقات میخواهیم این توابع را با شرایط خاصی اجرا کنیم. میتوانیم از WHERE برای فیلتر کردن دادهها استفاده کنیم.
مثال ۱: تعداد دانشآموزانی که نمره بالای ۱۵ دارند
SELECT COUNT(*) FROM students WHERE score > 15;
مثال ۲: میانگین حقوق کارمندان بخش “IT”
SELECT AVG(salary) FROM employees WHERE department = 'IT';
مثال ۳: مجموع فروش در ماه جاری
SELECT SUM(amount) FROM sales WHERE MONTH(sale_date) = MONTH(CURRENT_DATE);
۵. ترکیب این توابع با GROUP BY
میتوانیم این توابع را همراه با GROUP BY برای گروهبندی نتایج استفاده کنیم.
مثال ۱: میانگین حقوق در هر بخش
SELECT department, AVG(salary) FROM employees GROUP BY department;
مثال ۲: تعداد سفارشهای ثبتشده توسط هر مشتری
SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id;
مثال ۳: مجموع فروش در هر ماه
SELECT MONTH(sale_date), SUM(amount) FROM sales GROUP BY MONTH(sale_date);
جمعبندی
COUNT
تعداد سطرهای یک جدول یا تعداد مقادیر غیر null یک ستون را محاسبه میکند.AVG
میانگین مقادیر یک ستون عددی را محاسبه میکند.SUM
مجموع مقادیر یک ستون عددی را نمایش میدهد.- این توابع را میتوان با WHERE و GROUP BY ترکیب کرد تا گزارشهای دقیقتری ایجاد کرد.
با این توابع میتوان آنالیزهای مفیدی روی دادهها انجام داد و اطلاعات ارزشمندی از پایگاه داده استخراج کرد.