Введение
count (x)
Функция count (X) возвращает количество раз, что X не является NULL в группе.
Синтаксис:
count (column)
Возвращает количество раз, когда значение, отличное от NULL, появляется в столбце
count (*)
Count ( *) функция (без аргументов) возвращает общее количество строк в группе.
Синтаксис:
count (* )
Возвращает общее количество строк в запросе, независимо от значений NULL
Пример: функция SQLite count (DISTINCT)
Следующий оператор SQLite подсчитает уникальный язык pub_lang и среднее значение no_page с точностью до 2 знаков после запятой для каждой группы cate_id.
Пример таблицы: book_mast
Пример вывода:
sqlite> SELECT cate_id, count (DISTINCT (pub_lang)), ROUND (AVG (no_page), 2) ...> FROM book_mast ...> GROUP BY cate_id; cate_id count (DISTINCT (pub_lang) ) ROUND (AVG (no_page), 2) ---------- ------------------------- ----- ---------------- CA001 3 264.33CA002 1 433.33CA003 2 256.67CA004 3 246.67CA005 4 245.75
Пример: количество SQLite ( ) с помощью GROUP BY
Следующий оператор SQLite покажет количество авторов для каждой страны. Предложение GROUP BY группирует все записи для каждой страны, а затем функция count () вместе с GROUP BY подсчитывает количество авторов для каждой страны.
Пример таблицы: author
Пример вывода:
sqlite> SELECT country, count (*) ...> FROM author ...> GROUP BY country ; количество стран (*) ---------- ---------- Австралия 2Бразилия 1Канада 2Германия 1Индия 1Великобритания 4США 4
Графическая презентация
Функция SQLite count () с группировкой по нескольким столбцам
Следующий оператор SQLite возвращает количество издателей в каждом городе страны. Операция группировки выполняется для столбцов country и pub_city с использованием GROUP BY, а затем count () подсчитывает количество издателей для каждой группы.
Пример таблицы: publisher
Пример вывода:
sqlite> ВЫБРАТЬ страну, pub_city, count (*) ...> FROM publisher ...> GROUP BY country, pub_city; country pub_city count (*) ---------- ---------- ---------- Австралия Аделаида 1 Индия Мумбаи 1 Индия Нью-Дели 1 Великобритания Кембридж 1 Великобритания Лондон 1 США Хьюстан 1 США Нью-Йорк 2