Функция PostgreSQL AVG
Функция AVG
Функция AVG определяет среднее значение всех выбранных значений столбца.
Синтаксис:
AVG (* | [DISTINCT] ALL | column_name)
параметры
название | Описание |
---|---|
column_name | Наименование столбца |
* | Звездочкой (*) обозначены все строки. |
DISTINCT | Этот пункт не является обязательным. Это указывает на уникальность. |
ВСЕ | Этот пункт не является обязательным. Это предложение по умолчанию. |
Содержание:
- Пример функции PostgreSQL AVG
- PostgreSQL AVG как уровень
- Функция PostgreSQL AVG с двумя столбцами
- PostgreSQL AVG с максимальным, минимальным, счетом и суммой
- Предложение PostgreSQL AVG WHERE
- PostgreSQL AVG с GROUP BY
- PostgreSQL AVG с WHAE CLAUSE и GROUP BY
- PostgreSQL AVG с HAVING и GROUP BY
- PostgreSQL AVG с GROUP BY и ORDER BY
Пример функции PostgreSQL AVG
Образец таблицы
Если мы хотим найти среднюю зарплату для всех сотрудников в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT AVG(salary)
FROM employee;
Выход:
Графическое представление функции PostgreSQL AVG ()
PostgreSQL AVG как уровень
Если мы хотим получить среднюю зарплату для всех сотрудников и показать результат в сравнении с заголовком «Средняя зарплата» в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT AVG(salary) "Average Salary"
FROM employee;
ИЛИ ЖЕ
Код:
SELECT AVG(DISTINCT salary) "Average Salary"
FROM employee;
ИЛИ ЖЕ
Код:
SELECT AVG(ALL salary) "Average Salary"
FROM employee;
Выход:
PostgreSQL AVG две колонки
Если мы хотим получить среднюю зарплату и вычет из таблицы сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT AVG(salary) "Average Salary" ,
AVG(deduction) "Average Deduction"
FROM employee;
Выход:
PostgreSQL AVG с максимальным, минимальным, счетом и суммой
Если мы хотим получить среднюю зарплату, максимальную зарплату, минимальную зарплату, общую сумму сотрудников и общую зарплату из таблицы сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT AVG(salary) "Average Salary" ,
MAX(salary) "Maximum Salary",
MIN(salary) "Minimum Salary",
COUNT(*) "Total Employee",
SUM(salary) "Total Salary"
FROM employee;
Выход:
Предложение PostgreSQL AVG WHERE
Если мы хотим получить среднюю зарплату и вычет из таблицы сотрудников, которая относится к обозначению «SALESMAN», можно использовать следующий SQL.
SQL
Код:
SELECT AVG(salary) "Average Salary" ,
AVG(deduction) "Average Deduction"
FROM employee
WHERE designame='SALESMAN';
Выход:
Иллюстрированная презентация PostgreSQL AVG с предложением WHERE
PostgreSQL AVG с GROUP BY
Пример таблицы: сотрудники
Следующее утверждение возвратит обозначение и среднюю зарплату против каждого обозначения из таблицы сотрудников .
SQL
Код:
SELECT job_id, ROUND(AVG(salary),2) AS "Average Salary rounded"
FROM employees
GROUP BY job_id;
Пример вывода:
job_id | Средняя заработная плата ------------ + ---------------- AC_ACCOUNT | 8300,00 ST_MAN | 7280,00 IT_PROG | 5760,00 SA_MAN | 12200,00 AD_PRES | 24000,00 AC_MGR | 12000,00 FI_MGR | 12000,00 AD_ASST | 4400,00 MK_MAN | 13000,00 PU_CLERK | 2780,00 HR_REP | 6500,00 PR_REP | 10000,00 FI_ACCOUNT | 7920,00 SH_CLERK | 3215,00 AD_VP | 17000,00 SA_REP | 8350,00 ST_CLERK | 2785,00 MK_REP | 6000,00 PU_MAN | 11000,00 (19 рядов)
Иллюстрированная презентация PostgreSQL AVG с GROUP BY
PostgreSQL AVG с WHAE CLAUSE и GROUP BY
Пример таблицы: сотрудники
Следующее утверждение возвратит среднюю мудрую зарплату для того назначения, зарплата которого не превышает 12000 и выше, из таблицы сотрудников .
SQL
Код:
SELECT job_id,ROUND(AVG(salary),2) AS "Avereage Salary"
FROM employees
WHERE salary<12000
GROUP BY job_id;
Пример вывода:
job_id | Средняя зарплата ------------ + ----------------- AC_ACCOUNT | 8300,00 ST_MAN | 7280,00 IT_PROG | 5760,00 SA_MAN | 10750,00 AD_ASST | 4400,00 PU_CLERK | 2780,00 HR_REP | 6500,00 PR_REP | 10000,00 FI_ACCOUNT | 7920,00 SH_CLERK | 3215,00 SA_REP | 8350,00 ST_CLERK | 2785,00 MK_REP | 6000,00 PU_MAN | 11000,00 (14 рядов)
PostgreSQL AVG с HAVING и GROUP BY
Пример таблицы: сотрудники
Следующее заявление sql вернет, общее назначение сотрудников и среднюю зарплату для этого назначения, зарплата которого не превышает 12000 и выше, и как минимум пять сотрудников имеют это назначение.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of Employees",
ROUND(AVG(salary),2) AS "Average Salary"
FROM employees
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5;
Пример вывода:
job_id | Количество работников | Средняя заработная плата ------------ + --------------------- + --------------- - ST_MAN | 5 | 7280,00 IT_PROG | 5 | 5760,00 PU_CLERK | 5 | 2780,00 FI_ACCOUNT | 5 | 7920,00 SH_CLERK | 20 | 3215,00 SA_REP | 30 | 8350,00 ST_CLERK | 20 | 2785,00 (7 рядов)
Иллюстрированная презентация PostgreSQL AVG с HAVING
PostgreSQL AVG с GROUP BY и ORDER BY
Пример таблицы: сотрудники
Приведенное ниже утверждение вернет обозначение: общая численность работников и средняя заработная плата, упорядоченные в порядке убывания в соответствии с общим числом работников, для обозначения, зарплата которого не превышает 12000 и выше, и как минимум пять сотрудников имеют это обозначение.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of employees" ,
ROUND(AVG(salary),2) AS "Average Salary"
FROM employees
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5
ORDER BY COUNT(*) DESC;
Пример вывода:
job_id | Количество сотрудников | Средняя заработная плата ------------ + --------------------- + --------------- - SA_REP | 30 | 8350,00 SH_CLERK | 20 | 3215,00 ST_CLERK | 20 | 2785,00 ST_MAN | 5 | 7280,00 FI_ACCOUNT | 5 | 7920,00 IT_PROG | 5 | 5760,00 PU_CLERK | 5 | 2780,00 (7 рядов)
Предыдущий: MIN
Далее: Логические операторы
Новый контент: Composer: менеджер зависимостей для PHP , R программирования