кодесурса
«MySQL

PostgreSQL SUM функция

script1adsense2code
script1adsense3code

СУММА функция

Функция SUM в PostgreSQL возвращает сумму значений для списка выбранных столбцов.

Синтаксис

 SUM (* | [DISTINCT] ALL | column_name)

параметры

название Описание
column_name Наименование столбца
* Звездочкой (*) обозначены все строки.
DISTINCT Этот пункт не является обязательным. Это указывает на уникальность.
ВСЕ Этот пункт не является обязательным. Это предложение по умолчанию.

Содержание:

Пример функции PostgreSQL SUM

Образец таблицы

«PostgreSQL

Если мы хотим рассчитать общую сумму зарплаты для всех сотрудников в таблице сотрудников , можно использовать следующий SQL.

SQL

Код:

SELECT SUM(salary) 
FROM employee;

Выход:

«PostgreSQL

Иллюстрированная презентация PostgreSQL SUM ()

«PostgreSQL

PostgreSQL SUM как уровень

Если мы хотим рассчитать общую сумму заработной платы для всех сотрудников и показать результат в сравнении с заголовком «Общая заработная плата» в таблице сотрудников , можно использовать следующий SQL.

SQL

Код:

SELECT SUM(salary)  AS "Total Salary"
FROM employee;

Выход:

«PostgreSQL

PostgreSQL SUM DISTINCT

Если мы хотим получить сумму уникального оклада из таблицы сотрудников , можно использовать следующий SQL.

SQL

Код:

SELECT SUM ( DISTINCT salary)
FROM employee;

Выход:

«PostgreSQL

объяснение

Приведенный выше пример показывает, что сумма зарплаты меньше, чем сумма зарплаты для всех сотрудников, потому что предложение DISTINCT исключает повторение каждой зарплаты и суммируется только один раз.

Предложение PostgreSQL SUM WHERE

Если мы хотим получить сумму уникального оклада из таблицы сотрудника, которая принадлежит группе deptno 15, можно использовать следующий SQL.

SQL

Код:

SELECT SUM ( DISTINCT salary) AS "Total Salary"
FROM employee
WHERE deptno=15;

Выход:

«PostgreSQL

Иллюстрированная презентация PostgreSQL SUM с WHERE

«PostgreSQL

PostgreSQL SUM с GROUP BY

Пример таблицы: сотрудники


Следующее утверждение возвратит обозначение и общую зарплату против каждого обозначения из таблицы сотрудников .

SQL

Код:

SELECT job_id,SUM(salary) AS "Total Salary" 
FROM employees 
GROUP BY job_id;;

Пример вывода:

 job_id | Общая зарплата
------------ + --------------
 AC_ACCOUNT | 8300,00
 ST_MAN | 36400,00
 IT_PROG | 28800,00
 SA_MAN | 61000,00
 AD_PRES | 24000,00
 AC_MGR | 12000,00
 FI_MGR | 12000,00
 AD_ASST | 4400,00
 MK_MAN | 13000,00
 PU_CLERK | 13900,00
 HR_REP | 6500,00
 PR_REP | 10000,00
 FI_ACCOUNT | 39600,00
 SH_CLERK | 64300,00
 AD_VP | 34000,00
 SA_REP | 250500,00
 ST_CLERK | 55700,00
 MK_REP | 6000,00
 PU_MAN | 11000,00
(19 рядов)

Иллюстрированная презентация PostgreSQL SUM с GROUP BY

«PostgreSQL

PostgreSQL СУММА с ГЛАВНОЙ ОГОВОРКОЙ и GROUP BY

Пример таблицы: сотрудники


Следующее утверждение будет возвращать указанную мудрую общую зарплату для того назначения, зарплата которого не превышает 12000 и выше, из таблицы сотрудников .

SQL

Код:

SELECT job_id,SUM(salary) AS "Total Salary" 
FROM employees 
WHERE salary<12000 
GROUP BY job_id;

Пример вывода:

 job_id | Общая зарплата
------------ + --------------
 AC_ACCOUNT | 8300,00
 ST_MAN | 36400,00
 IT_PROG | 28800,00
 SA_MAN | 21500,00
 AD_ASST | 4400,00
 PU_CLERK | 13900,00
 HR_REP | 6500,00
 PR_REP | 10000,00
 FI_ACCOUNT | 39600,00
 SH_CLERK | 64300,00
 SA_REP | 250500,00
 ST_CLERK | 55700,00
 MK_REP | 6000,00
 PU_MAN | 11000,00
(14 рядов)

PostgreSQL SUM с клаузулой клаузулы и GROUP BY

Пример таблицы: сотрудники


В следующем операторе SQL будет указано общее количество сотрудников и общая зарплата для этого назначения, зарплата которого не превышает 12000 и выше, и как минимум пять сотрудников имеют это назначение.

SQL

Код:

SELECT job_id,COUNT(*) AS "Number of Employees", 
SUM(salary) AS "Total Salary" 
FROM employees 
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5;

Пример вывода:

 job_id | Количество работников | Общая зарплата
------------ + --------------------- + --------------
 ST_MAN | 5 | 36400,00
 IT_PROG | 5 | 28800,00
 PU_CLERK | 5 | 13900,00
 FI_ACCOUNT | 5 | 39600,00
 SH_CLERK | 20 | 64300,00
 SA_REP | 30 | 250500,00
 ST_CLERK | 20 | 55700,00
(7 рядов)

Иллюстрированная презентация PostgreSQL SUM с HAVING

«PostgreSQL

PostgreSQL SUM с GROUP BY и ORDER BY

Пример таблицы: сотрудники


Приведенное ниже утверждение вернет обозначение: общая численность работников и общая заработная плата, упорядоченные в порядке убывания в соответствии с общим числом работников, для обозначения, зарплата которого не превышает 12000 и выше, и как минимум пять сотрудников имеют это обозначение.

SQL

Код:

SELECT job_id,COUNT(*) AS "Number of employees" ,
SUM(salary) AS "Total Salary"
FROM employees 
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5
ORDER BY COUNT(*) DESC;

Пример вывода:

 job_id | Количество сотрудников | Общая зарплата
------------ + --------------------- + --------------
 SA_REP | 30 | 250500,00
 SH_CLERK | 20 | 64300,00
 ST_CLERK | 20 | 55700,00
 ST_MAN | 5 | 36400,00
 FI_ACCOUNT | 5 | 39600,00
 IT_PROG | 5 | 28800,00
 PU_CLERK | 5 | 13900,00
(7 рядов)

Предыдущий: COUNT
Далее: МАКС

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code