تابع SUM() در SQL برای محاسبه مجموع مقادیر یک ستون عددی استفاده می‌شود. مثلاً اگر بخواهید مجموع تعداد کالاهای خریداری‌شده را حساب کنید، از این تابع کمک می‌گیرید. 📊


۱. نحوه استفاده از SUM()

فرض کنید می‌خواهید مجموع همه مقادیر موجود در ستون Quantity را در جدول OrderDetails محاسبه کنید:

SELECT SUM(Quantity)
FROM OrderDetails;

✅ این دستور، مجموع همه مقادیر ستون Quantity را برمی‌گرداند.


۲. سینتکس کلی تابع SUM()

SELECT SUM(نام_ستون)
FROM نام_جدول
WHERE شرط_موردنظر;

🔹 می‌توان با استفاده از WHERE فقط مقادیر خاصی را در جمع حساب کرد.


۳. اضافه کردن شرط WHERE

گاهی لازم است مجموع مقدار یک محصول خاص را محاسبه کنیم. مثلاً مجموع Quantity فقط برای ProductID برابر با 11:

SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductID = 11;

📌 این دستور فقط تعداد کالاهای مربوط به محصول 11 را جمع می‌زند.


۴. استفاده از AS برای نام‌گذاری ستون 🔖

برای خوانایی بهتر خروجی، می‌توانیم یک نام مستعار (Alias) برای ستون خروجی انتخاب کنیم:

SELECT SUM(Quantity) AS total
FROM OrderDetails;

✅ حالا ستون خروجی با نام total نمایش داده می‌شود.


۵. استفاده از SUM() همراه با GROUP BY

اگر بخواهیم مجموع مقدار هر سفارش (OrderID) را جداگانه نمایش دهیم، از GROUP BY استفاده می‌کنیم:

SELECT OrderID, SUM(Quantity) AS [Total Quantity]
FROM OrderDetails
GROUP BY OrderID;

📌 این دستور، مجموع Quantity را برای هر OrderID جداگانه محاسبه می‌کند.


۶. استفاده از SUM() در یک عبارت ریاضی 🔢

تابع SUM() می‌تواند روی یک عبارت ریاضی نیز اعمال شود. مثلاً اگر قیمت هر محصول را 10 دلار فرض کنیم، می‌توانیم کل درآمد را محاسبه کنیم:

SELECT SUM(Quantity * 10)
FROM OrderDetails;

✅ این دستور تعداد کالاها را در 10 ضرب کرده و مجموع کل درآمد را برمی‌گرداند.


۷. محاسبه مبلغ واقعی با JOIN

اگر قیمت واقعی هر محصول در جدول Products ذخیره شده باشد، می‌توانیم از JOIN برای محاسبه درآمد واقعی استفاده کنیم:

SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;

📌 این کوئری اطلاعات جدول OrderDetails را با جدول Products ترکیب کرده و کل مبلغ را با قیمت واقعی محاسبه می‌کند.


💡 تمرین:

۱. مجموع تعداد تمام محصولات را در جدول OrderDetails پیدا کنید. ۲. مجموع Quantity را فقط برای OrderID = 10248 حساب کنید. ۳. کل مبلغ فروش را با استفاده از JOIN محاسبه کنید.


جمع‌بندی:

  • SUM() مجموع یک ستون عددی را محاسبه می‌کند.
  • می‌توان از WHERE برای فیلتر کردن مقادیر خاص استفاده کرد.
  • AS برای نام‌گذاری خروجی مفید است.
  • GROUP BY امکان گروه‌بندی داده‌ها را می‌دهد.
  • می‌توان SUM() را روی یک عبارت ریاضی یا در ترکیب با JOIN استفاده کرد.