Функция SUM в SQL используется, чтобы узнать сумму поля в различных записях.
Чтобы понять функцию SUM, рассмотрим таблицы EMPLOYEE_TBL, в которой находятся следующие записи:
SQL> SELECT * FROM employee_tbl; +----+----------+------------+--------------------+ | id | name | work_date | daily_typing_book | +----+----------+------------+--------------------+ | 1 | Dima | 2017-02-01 | 250 | | 2 | Ruslan | 2017-03-02 | 220 | | 3 | AndreyEx | 2017-01-11 | 170 | | 3 | AndreyEx | 2017-02-02 | 100 | | 4 | Masha | 2017-03-12 | 220 | | 5 | Roma | 2017-06-23 | 300 | | 5 | Roma | 2017-03-12 | 350 | +----+----------+------------+--------------------+ 7 rows in set (0.00 sec)
Теперь предположим, что на основе приведенной выше таблице вы хотите вычислить итог всех dialy_typing_book, то вы можете сделать это с помощью следующей команды:
SQL> SELECT SUM(daily_typing_book) -> FROM employee_tbl; +-------------------------+ | SUM(daily_typing_book) | +-------------------------+ | 1610 | +-------------------------+ 1 row in set (0.00 sec)
Вы можете взять сумму различных записей, установленных с помощью предложения GROUP BY. Следующий пример будет суммировать все записи, относящиеся к одному человеку , и вы будете иметь общую сумму книг для каждого человека.
SQL> SELECT id, name, MAX(daily_typing_book) -> FROM employee_tbl GROUP BY name; +----+----------+-------------------------+ | id | name | MAX(daily_typing_book) | +----+----------+-------------------------+ | 3 | AndreyEx | 270 | | 4 | Masha | 220 | | 1 | Dima | 250 | | 2 | Ruslan | 220 | | 5 | Roma | 650 | +----+----------+-------------------------+ 5 rows in set (0.00 sec)