Поделиться через


COUNT_BIG (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric

Эта функция возвращает количество элементов, найденных в группе. Функция COUNT_BIG работает подобно функции COUNT. Эти функции различаются только типами данных в возвращаемых значениях. Функция COUNT_BIG всегда возвращает значение типа данных bigint. Функция COUNT всегда возвращает значение типа данных int.

Соглашения о синтаксисе Transact-SQL

Синтаксис


-- Aggregation Function Syntax  
COUNT_BIG ( { [ [ ALL | DISTINCT ] expression ] | * } )  
  
-- Analytic Function Syntax  
COUNT_BIG ( [ ALL ] { expression | * } ) OVER ( [ <partition_by_clause> ] )  

Аргументы

ВСЕ
Применяет агрегатную функцию ко всем значениям. Аргумент ALL используется по умолчанию.

DISTINCT
Указывает, что функция COUNT_BIG возвращает количество уникальных значений, не равных NULL.

выражение
Выражение любого типа данных. Функция COUNT_BIG не поддерживает агрегатные функции и вложенные запросы в выражении.

*
Указывает, что функция COUNT_BIG должна учитывать все строки, чтобы определить общее количество строк таблицы для возврата. Функция COUNT_BIG(*) не принимает параметры и не поддерживает использование аргумента DISTINCT. Для функции COUNT_BIG(*) не требуется параметр expression, так как по определению она не использует сведения о конкретном столбце. Функция COUNT_BIG(*) возвращает количество строк в указанной таблице с учетом повторяющихся строк. Каждая строка учитывается отдельно, включая строки со значением NULL.

OVER ( [ partition_by_clause ] [ order_by_clause ] )
partition_by_clause делит результирующий набор, полученный с помощью предложения FROM, на секции, к которым применяется функция COUNT_BIG. Если этот параметр не указан, функция обрабатывает все строки результирующего набора запроса как отдельные группы. order_by_clause определяет логический порядок выполнения операции. Дополнительные сведения см. в статье Предложение OVER (Transact-SQL).

Типы возвращаемых данных

bigint

Замечания

COUNT_BIG(*) возвращает количество элементов в группе. Сюда входят значения NULL и повторяющиеся значения.

Функция COUNT_BIG (ALL expression) вычисляет expression для каждой строки в группе и возвращает количество значений, не равных NULL.

Функция COUNT_BIG (DISTINCT expression) вычисляет expression для каждой строки в группе и возвращает количество уникальных значений, не равных NULL.

COUNT_BIG — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не является детерминированой при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в статье Детерминированные и недетерминированные функции.

Примеры

Примеры см. в статье Функция COUNT (Transact-SQL).

См. также

Агрегатные функции (Transact-SQL)
COUNT (Transact-SQL)
int, bigint, smallint и tinyint (Transact-SQL)
Предложение OVER (Transact-SQL)