
# count
count函数用于返回记录条数。
#### 命令格式
```
count([distinct|all] <colname>)
```
#### 参数说明
表1参数说明 
| 参数           | 是否必选 | 说明                                                                                                                      |
|:---|:---|:---|
| distinct或all | 否    | 表示在计数时是否去除重复记录，默认为all，即计算全部记录。 如果指定distinct，则只计算唯一值数量。 |
| colname      | 是    | 列值可以为任意类型。 colname可以为\*，即count(\*)，返回所有行数。                |
   
#### 返回值说明
返回BIGINT类型。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
colname值为NULL时，该行不参与计算。
#### 示例代码
- 计算所有仓库表中的记录数。命令示例如下：
  ```
  select count(*) from warehouse;
  ```
  返回结果如下：
  ```
  _c0        
  10
  ```
  
- 与group by配合使用，对所有商品按照仓库（warehouseId）进行分组，计算各仓库（warehouseId）的商品数。命令示例如下：
  ```
  select warehouseId, count(*) from warehouse group by warehouseId;
  ```
  返回结果如下：
  ```
  warehouseId _c1        
  city1   6          
  city2   5          
  city3   6
  ```
  示例3：通过distinct去重，计算仓库数量。命令示例如下：
  ```
  select count(distinct warehouseId) from warehouse;
  ```
  返回结果如下：
  ```
  _c0        
   3
  ```
  
 
