SQL Функция SUM()
Функция SUM() возвращает общую сумму числового столбца.
Возвращает сумму всех полей Quantity в таблице OrderDetails:
SELECT SUM(Quantity)
FROM OrderDetails;
Попробуйте сами »
Синтаксис SUM()
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Демо база данных
Ниже приведен выбор из таблицы OrderDetails, используемой в примерах:
| OrderDetailID | OrderID | ProductID | Quantity |
|---|---|---|---|
| 1 | 10248 | 11 | 12 |
| 2 | 10248 | 42 | 10 |
| 3 | 10248 | 72 | 5 |
| 4 | 10249 | 14 | 9 |
| 5 | 10249 | 51 | 40 |
Добавьте предложение WHERE
Вы можете добавить предложение WHERE для указания условий:
Возвращает сумму в поле Quantity для продукта ProductID c 11:
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductId = 11;
Попробуйте сами »
Используйте псевдоним
Присвойте сводному столбцу имя, используя ключевое слово AS.
Используйте SUM() с GROUP BY
Здесь мы используем функцию SUM() и предложение GROUP BY, чтобы возвращать Quantity for each OrderID в таблице OrderDetails:
SELECT OrderID, SUM(Quantity) AS [Total Quantity]
FROM OrderDetails
GROUP BY OrderID;
Попробуйте сами »
You will learn more about the
GROUP BY clause later in this tutorial.
SUM() c выражением
Параметр внутри функции SUM() также может быть выражением.
Если мы предположим, что каждый продукт в столбце OrderDetails стоит 10 долларов, мы можем найти общую прибыль в долларах, умножив каждое количество на 10:
Используйте выражение внутри функции SUM():
SELECT SUM(Quantity * 10)
FROM OrderDetails;
Попробуйте сами »
Мы также можем объединить таблицу OrderDetails с таблицей Products, чтобы найти фактическую сумму, вместо того чтобы предполагать, что она равна 10 долларам:
Объедините OrderDetails с Products и используйте SUM(), чтобы найти общую сумму:
SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
Попробуйте сами »
Вы узнаете больше о Соединениях позже в этом руководстве.