Количество записей выборки данных

 

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

Общие правила
  1. Тип возвращаемого значения INT. Результат не может быть NULL.

  2. Аргумент * функции задает подсчет всех записей.

  3. Если задан DISTINCT, при подсчете исключаются дубликаты значений. Результат – число различных не NULL-значений в выборке данных.

    create table tab1 (i int, c char(10));
    insert into tab1 values (1, '1');
    insert into tab1 values (1,null);
    insert into tab1 values (1, '12');
    insert into tab1 values (null, '1');
    select * from tab1;
     I      C
     ------ ------
    | 1    | 1    |
    | 1    | NULL |
    | 1    | 12   |
    | NULL | 1    |
    
    select count(i), count(с), count(*) from tab1;
    
    |3 |3 |4 |
    
    select count(distinct i), count(distinct c), count(*) from tab1;
    
    |1 |2 |4 |
  4. Конструкции COUNT(< значимое выражение >) или COUNT(ALL < значимое выражение >) выдают количество всех значений без учета NULL-значений. Результат – число всех значений (включая дубликаты).

    // Определить число работников, имеющих оклад меньше половины от максимального:
    select count("категория_раб") 
      from "штат_расписание" 
     where "оклад"< (select 0.5*max("оклад") from "штат_расписание");