-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSUM.txt
102 lines (73 loc) · 5.71 KB
/
SUM.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
****** SQL функция SUM ******
SQL функция SUM используется для возврата суммы выражения в операторе SELECT.
Синтаксис для функции SUM в SQL:
***********************************************************************************
SELECT SUM(aggregate_expression)
FROM tables
[WHERE conditions];
***********************************************************************************
Или синтаксис для функции SUM при группировке результатов по одному или нескольким столбцам.
***********************************************************************************
SELECT expression1, expression2, ... expression_n,
SUM(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;
***********************************************************************************
Параметры:
- expression1, expression2, ... expression_n - выражения, которые не инкапсулированы в
функцию SUM и должны быть включены в
предложение GROUP BY в конце SQL запроса.
- aggregate_expression - это столбец или выражение, которое будет суммироваться.
- tables - таблицы, из которых вы хотите получить записи. В предложении FROM должна быть
указана хотя бы одна таблица.
- WHERE conditions - необязательный. Это условия, которые должны быть выполнены для
выбора записей.
****** SUM с одним выражением ******
Например, мы хотим знать, как совокупная общая зарплата всех сотрудников, чья зарплата
превышает 25 000 у.е. в год.
***********************************************************************************
SELECT SUM(salary) AS "Total Salary"
FROM employees
WHERE salary > 25000;
***********************************************************************************
В этом SQL запросе функции SUM мы присвоили псевдоним "Total Salary". В результате
"Total Salary" будет отображаться как имя поля при возврате набора результатов.
****** Использование SUM c DISTINC ******
Мы можем использовать SQL запрос DISTINCT в функции SUM. Например, приведенный ниже
SQL запрос SELECT возвращает совокупный общий оклад с уникальными значениями окладов,
где оклад превышает 25000 у.е. в год.
***********************************************************************************
SELECT SUM(DISTINCT salary) AS "Total Salary"
FROM employees
WHERE salary > 25000;
***********************************************************************************
Если бы у нас в таблице было две одинаковых зарплаты 30000 у.е. в год, то в SQL функции
SUM использовалось бы только одно из этих значений.
****** Использование формул (математических операций) ******
Expressions (выражение), содержащееся в SQL функции SUM, необязательно должно быть одним полем.
Мы также можем использовать формулу. Например, мы можем расчитать чистый доход для бизнеса.
Чистый доход рассчитывается как общий доход за вычетом общих расходов.
***********************************************************************************
SELECT SUM(income - expenses) AS "Net Income"
FROM gl_transactions;
***********************************************************************************
Мы можем выполнить математическую операцию в SQL функции SUM. Например, мы можем определить
общую комиссию как 10% от общего объема продаж.
***********************************************************************************
SELECT SUM(sales * 0.10) AS "Commission"
FROM order_details;
***********************************************************************************
****** Использование SUM SQL в GROUP BY ******
В некоторых случаях может потребоваться использовать SQL оператор GROUP BY с функцией SUM.
Например, мы можем использовать SQL функцию SUM для возврата названия отдела и общих
продаж (в связанном отделе).
***********************************************************************************
SELECT department,
SUM(sales) AS "Total sales"
FROM order_details
GROUP BY department;
***********************************************************************************
Поскольку в SQL запросе SELECT указан один столбец, который не инкапсулирован в
SQL функции SUM, необходимо использовать SQL оператор GROUP BY. Поэтому поле
department должно быть указано в SQL операторе GROUP BY.