Функція count (transact-sql)
Застосовує агрегатную функцію до всіх значень. ALL є параметром за замовчуванням.
Вказує, що функція COUNT повертає кількість унікальних значень, що не рівних NULL.
Вираз будь-якого типу, за винятком text. image або ntext. Агрегатні функції і вкладені запити не допускаються.
Вказує, що при поверненні загального числа рядків в таблиці необхідно порахувати всі рядки. Функція COUNT (*) не приймає параметри і не може використовуватися з ключовим словом DISTINCT. Для функції COUNT (*) не потрібен параметр expression. так як за визначенням вона не використовує відомості про будь-яких конкретних шпальтах. Функція COUNT (*) повертає кількість рядків у зазначеній таблиці, що не відкидаючи дубльовані рядки. Вона підраховує кожен рядок окремо. При цьому враховуються і рядки, що містять значення NULL.
OVER ([partition_by_clause] order_by_clause)
partition_by_clause ділить результуючий набір, отриманий за допомогою пропозиції FROM, на секції, до яких застосовується функція. Якщо цей параметр не вказано, функція обробляє всі рядки результуючого набору запиту як одну групу. order_by_clause визначає логічний порядок, в якому виконується операція. Значення order_by_clause обов'язково. Додаткові відомості див. У розділі Пропозиція OVER (Transact-SQL).
Функція COUNT (*) повертає кількість елементів в групі. Сюди входять значення NULL і повторювані значення.
Функція COUNT (ALL expression) оцінює expression для кожного рядка в групі і повертає кількість значень, що не рівних NULL.
Функція COUNT (DISTINCT expression) оцінює expression для кожного рядка в групі і повертає кількість унікальних значень, що не рівних NULL.
Для значень, що повертаються, великих 2 ^ 31-1, функція COUNT формує повідомлення про помилку. Замість цього слід використовувати COUNT_BIG.
COUNT - це детермінована функція, якщо вона використовується без пропозицій OVER і ORDER BY. Вона не детермінована при використанні з пропозиціями OVER і ORDER BY. Додаткові відомості див. У розділі Детерміновані і недетерміновані функції.
А. Використання функції COUNT і параметра DISTINCT
У наступному прикладі наводиться кількість різних посад, які можуть мати службовці, що працюють в компанії Компанія Adventure Works Cycles.