

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# COUNT 函数
<a name="COUNT"></a>

 COUNT 函数对由表达式定义的行计数。

COUNT 函数具有以下变体。
+ COUNT ( \* ) 对目标表中的所有行计数，无论它们是否包含 null 值。
+ COUNT ( *expression* ) 计算某个特定列或表达式中带非 NULL 值的行的数量。
+ COUNT ( DISTINCT *expression* ) 计算某个列或表达式中非重复的非 NULL 值的数量。

## 语法
<a name="COUNT-synopsis"></a>

```
COUNT( * | expression )
```

```
COUNT ( [ DISTINCT | ALL ] expression )
```

## 参数
<a name="COUNT-arguments"></a>

 *expression*   
对其执行函数的目标列或表达式。COUNT 函数支持所有参数数据类型。

DISTINCT \| ALL  
利用参数 DISTINCT，该函数可在执行计数之前消除指定表达式中的所有重复值。利用参数 ALL，该函数可保留表达式中的所有重复值以进行计数。ALL 是默认值。

## 返回类型
<a name="Supported_data_types_count"></a>

COUNT 函数返回 BIGINT。

## 示例
<a name="COUNT-examples"></a>

对来自佛罗里达州的所有用户计数：

```
select count(*) from users where state='FL';

count
-------
510
```

对 EVENT 表中的所有事件名称计数：

```
select count(eventname) from event;

count
-------
8798
```

对 EVENT 表中的所有事件名称计数：

```
select count(all eventname) from event;

count
-------
8798
```

统计活动表 IDs 中所有独特的场地：

```
select count(distinct venueid) as venues from event;

venues
--------
204
```

计算每个卖家列出 4 张以上门票出售的批次的次数。按卖家 ID 对结果进行分组：

```
select count(*), sellerid from listing 
where numtickets > 4
group by sellerid
order by 1 desc, 2;

count | sellerid
------+----------
12    |    6386
11    |    17304
11    |    20123
11    |    25428
...
```