PostgreSQL COUNT функция
Функция COUNT
Функция COUNT в PostgreSQL подсчитывает количество строк или значений, отличных от NULL, для определенного столбца таблицы. Когда звездочка (*) используется с функцией count, возвращается общее количество строк.
Синтаксис:
COUNT (* | [DISTINCT] ALL | имя_ столбца)
параметры
название | Описание |
---|---|
column_name | Наименование столбца |
* | Звездочкой (*) обозначены все строки. |
DISTINCT | Этот пункт не является обязательным. Это указывает на уникальность. |
ВСЕ | Этот пункт не является обязательным. Это предложение по умолчанию. |
Содержание:
Пример функции PostgreSQL COUNT
Образец таблицы
Если мы хотим получить число или строки в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT COUNT(*)
FROM employee;
Выход:
Иллюстрированная презентация PostgreSQL COUNT ()
PostgreSQL COUNT для определенного столбца
Если мы хотим получить количество сотрудников, получающих комиссию, в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT COUNT(commission)
FROM employee;
Выход:
объяснение
В приведенном выше примере показано, что комиссию получают только 3 сотрудника, поскольку функция COUNT игнорировала значения NULL.
PostgreSQL COUNT DISTINCT
Если мы хотим получить число обозначений, доступных в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT COUNT ( DISTINCT designame)
FROM employee;
Выход:
объяснение
В приведенном выше примере показано, что только 6 строк возвращают данные из таблицы employee, поскольку используется предложение DISTINCT. Предложение DISTINCT исключает повторение каждого имени проекта и возвращает только один раз.
Иллюстрированная презентация PostgreSQL COUNT DISTINCT
PostgreSQL COUNT с GROUP BY
Пример таблицы: сотрудники
Если мы хотим получить число сотрудников, работающих для каждого назначения, доступного в таблице сотрудников , можно использовать следующий SQL.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of employees"
FROM employees
GROUP BY job_id;
Выход:
Пример вывода:
job_id | Количество работников ------------ + --------------------- AC_ACCOUNT | 1 ST_MAN | 5 IT_PROG | 5 SA_MAN | 5 AD_PRES | 1 AC_MGR | 1 FI_MGR | 1 AD_ASST | 1 MK_MAN | 1 PU_CLERK | 5 HR_REP | 1 PR_REP | 1 FI_ACCOUNT | 5 SH_CLERK | 20 AD_VP | 2 SA_REP | 30 ST_CLERK | 20 MK_REP | 1 PU_MAN | 1 (19 рядов)
Иллюстрированная презентация PostgreSQL COUNT с GROUP BY
PostgreSQL COUNT с WHERE CLAUSE
Пример таблицы: сотрудники
Если мы хотим получить число сотрудников, работающих по каждому назначению, в таблице сотрудников, которая получает ежемесячную зарплату ниже 12000, можно использовать следующий SQL.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of employees"
FROM employees
WHERE salary<12000
GROUP BY job_id;
Выход:
Пример вывода:
job_id | Количество работников ------------ + --------------------- AC_ACCOUNT | 1 ST_MAN | 5 IT_PROG | 5 SA_MAN | 2 AD_ASST | 1 PU_CLERK | 5 HR_REP | 1 PR_REP | 1 FI_ACCOUNT | 5 SH_CLERK | 20 SA_REP | 30 ST_CLERK | 20 MK_REP | 1 PU_MAN | 1 (14 рядов)
Иллюстрированная презентация PostgreSQL COUNT с WHERE
PostgreSQL COUNT с предложением HAVING
Пример таблицы: сотрудники
Если мы хотим получить те назначения, на которых работают как минимум 5 сотрудников, и получать ежемесячную зарплату ниже 12000, можно использовать следующий SQL.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of employees"
FROM employees
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5;
Выход:
Пример вывода:
job_id | Количество работников ------------ + --------------------- ST_MAN | 5 IT_PROG | 5 PU_CLERK | 5 FI_ACCOUNT | 5 SH_CLERK | 20 SA_REP | 30 ST_CLERK | 20 (7 рядов)
Иллюстрированная презентация PostgreSQL COUNT с HAVING
PostgreSQL COUNT с GROUP BY и ORDER BY
Пример таблицы: сотрудники
Следующий запрос вернет обозначение, где по крайней мере 5 сотрудников работают с максимальной зарплатой ниже 12000, и количество сотрудников для каждого назначения в порядке убывания.
SQL
Код:
SELECT job_id,COUNT(*) AS "Number of employees"
FROM employees
WHERE salary<12000
GROUP BY job_id
HAVING COUNT(*)>=5
ORDER BY COUNT(*) DESC;
Пример вывода:
job_id | Количество работников ------------ + --------------------- SA_REP | 30 SH_CLERK | 20 ST_CLERK | 20 ST_MAN | 5 FI_ACCOUNT | 5 IT_PROG | 5 PU_CLERK | 5 (7 рядов)Предыдущая: Агрегатные функции
Следующий: SUM
Новый контент: Composer: менеджер зависимостей для PHP , R программирования