кодесурса
«MySQL

PostgreSQL COUNT функция

script1adsense2code
script1adsense3code

Функция COUNT

Функция COUNT в PostgreSQL подсчитывает количество строк или значений, отличных от NULL, для определенного столбца таблицы. Когда звездочка (*) используется с функцией count, возвращается общее количество строк.

Синтаксис:

 COUNT (* | [DISTINCT] ALL | имя_ столбца)

параметры

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

Содержание:

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

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

«PostgreSQL

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

SQL

Код:

SELECT COUNT(*) 
FROM employee;

Выход:

«PostgreSQL

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

«PostgreSQL

PostgreSQL COUNT для определенного столбца

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

SQL

Код:

SELECT COUNT(commission) 
FROM employee;

Выход:

«PostgreSQL

объяснение

В приведенном выше примере показано, что комиссию получают только 3 сотрудника, поскольку функция COUNT игнорировала значения NULL.

PostgreSQL COUNT DISTINCT

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

SQL

Код:

SELECT COUNT ( DISTINCT designame)
FROM employee;

Выход:

«PostgreSQL

объяснение

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

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

«PostgreSQL

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

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

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

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 программирования


disqus2code