SQL

توابع جمع آوری در SQL (Aggregate Functions)

مقدمه:

توابع جمع آوری در SQL ابزاری قدرتمند برای محاسبه مقادیر آماری از یک مجموعه داده هستند. این توابع به شما امکان می دهند تا بدون نیاز به نوشتن کدهای پیچیده، اطلاعات مفیدی از داده های خود استخراج کنید.

انواع توابع جمع آوری:

  • SUM: مجموع مقادیر یک ستون را محاسبه می کند.
  • AVG: میانگین مقادیر یک ستون را محاسبه می کند.
  • MIN: کمترین مقدار یک ستون را پیدا می کند.
  • MAX: بیشترین مقدار یک ستون را پیدا می کند.
  • COUNT: تعداد مقادیر غیر NULL یک ستون را شمارش می کند.

کاربردهای توابع جمع آوری:

  • محاسبه فروش کل: برای محاسبه مجموع فروش در یک دوره زمانی خاص.
  • محاسبه میانگین حقوق: برای محاسبه میانگین حقوق کارمندان در یک شرکت.
  • یافتن کمترین و بیشترین قیمت: برای یافتن کمترین و بیشترین قیمت محصول در یک فروشگاه.
  • شمارش تعداد مشتریان: برای شمارش تعداد مشتریان فعال در یک سیستم.

مثال:

فرض کنید می خواهیم مجموع فروش محصولات در سال ۱۴۰۲ را محاسبه کنیم. می توانیم از کد زیر استفاده کنیم:

SQL
SELECT SUM(sales) FROM products WHERE year = ۱۴۰۲;

نکات مهم:

  • توابع جمع آوری فقط برای ستون های عددی قابل استفاده هستند.
  • برای استفاده از توابع جمع آوری بر روی ستون های رشته ای، باید از توابع مخصوصی مانند COUNT DISTINCT استفاده کنید.
  • می توانید از توابع جمع آوری در داخل دستورات SELECT و WHERE استفاده کنید.
  • توابع جمع آوری فقط برای ستون های عددی قابل استفاده هستند.
  • برای استفاده از توابع جمع آوری بر روی ستون های رشته ای، باید از توابع مخصوصی مانند COUNT DISTINCT استفاده کنید.
  • می توانید از توابع جمع آوری در داخل دستورات SELECT، WHERE، GROUP BY و HAVING استفاده کنید.

موارد پیشرفته:

    • توابع جمع آوری با GROUP BY: برای محاسبه مقادیر آماری برای گروه های مختلف داده ها
    • توابع جمع آوری با HAVING: برای فیلتر کردن گروه های داده ها بر اساس مقادیر آماری

مثال های اضافی:

  • محاسبه میانگین حقوق کارمندان در هر دپارتمان:
SQL
SELECT department, AVG(salary) FROM employees GROUP BY department;
  • یافتن کمترین و بیشترین قیمت محصول در هر دسته بندی:
SQL
SELECT category, MIN(price), MAX(price) FROM products GROUP BY category;
  • شمارش تعداد مشتریان در هر شهر:
SQL
SELECT city, COUNT(*) FROM customers GROUP BY city;

مثال جامع توابع جمع آوری در SQL

فرض کنید یک جدول به نام products با ستون های زیر داریم:

  • id (عدد صحیح): شناسه منحصر به فرد هر محصول
  • name (رشته): نام محصول
  • price (عدد اعشاری): قیمت محصول
  • quantity (عدد صحیح): تعداد موجودی محصول
  • category (رشته): دسته بندی محصول
  • sales (عدد اعشاری): فروش محصول

در ادامه چند مثال از کاربرد توابع جمع آوری در این جدول ارائه می دهیم:

۱. محاسبه مجموع فروش محصولات:

SQL
SELECT SUM(sales) FROM products;

۲. محاسبه میانگین قیمت محصولات:

SQL
SELECT AVG(price) FROM products;

۳. یافتن کمترین و بیشترین قیمت محصول:

SQL
SELECT MIN(price), MAX(price) FROM products;

۴. شمارش تعداد محصولات:

SQL
SELECT COUNT(*) FROM products;

۵. محاسبه مجموع فروش محصولات در هر دسته بندی:

SQL
SELECT category, SUM(sales) FROM products GROUP BY category;

۶. محاسبه میانگین قیمت محصولات در هر دسته بندی:

SQL
SELECT category, AVG(price) FROM products GROUP BY category;

۷. یافتن کمترین و بیشترین قیمت محصول در هر دسته بندی:

SQL
SELECT category, MIN(price), MAX(price) FROM products GROUP BY category;

۸. شمارش تعداد محصولات در هر دسته بندی:

SQL
SELECT category, COUNT(*) FROM products GROUP BY category;

۹. محاسبه مجموع فروش محصولات در هر سال:

SQL
SELECT year, SUM(sales) FROM products GROUP BY year;

۱۰. محاسبه میانگین قیمت محصولات در هر سال:

SQL
SELECT year, AVG(price) FROM products GROUP BY year;

۱۱. یافتن کمترین و بیشترین قیمت محصول در هر سال:

SQL
SELECT year, MIN(price), MAX(price) FROM products GROUP BY year;

۱۲. شمارش تعداد محصولات در هر سال:

SQL
SELECT year, COUNT(*) FROM products GROUP BY year;

۱۳. محاسبه مجموع فروش محصولات با قیمت بیشتر از ۱۰۰ هزار تومان:

SQL
SELECT SUM(sales) FROM products WHERE price > ۱۰۰۰۰۰;

۱۴. محاسبه میانگین قیمت محصولات با موجودی کمتر از ۱۰ عدد:

SQL
SELECT AVG(price) FROM products WHERE quantity < ۱۰;

۱۵. یافتن کمترین و بیشترین قیمت محصول در دسته بندی “موبایل”:

SQL
SELECT MIN(price), MAX(price) FROM products WHERE category = 'موبایل';

۱۶. شمارش تعداد محصولات در دسته بندی “لوازم دیجیتال”:

SQL
SELECT COUNT(*) FROM products WHERE category = 'لوازم دیجیتال';

با استفاده از توابع جمع آوری و خلاقیت می توانید به اطلاعات آماری مفیدی از داده های خود دست پیدا کنید.

۰/۵ ( ۰ امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا