# **COUNT**

## **Function Description n**

`COUNT()` is a type of aggregate function that calculates the number of records of the query result, and the result is a BIGINT value. Returns 0 when there is no matching row or `COUNT(NULL)`.

## **Function Syntax**

```text
> COUNT(expr)
```

```text
> COUNT(distinct column)
```

## **Parameter definition**

<table>
  <tr>
    <th>parameters</th>
    <th>Instructions</th>
  </tr>
  <tr>
    <td >expr</td>
    <td>Any query result can be either a column name or a result of a function or mathematical operation. You can also use `*` to directly count the number of rows</td>
  </tr>
  <tr>
    <td nowrap>distinct column</td>
  <td>Deduplicate the repeated values in the column. </td>
  </tr>
</table>

## **Example**

```text
drop table if exists tbl1,tbl2;
create table tbl1 (col_1a tinyint, col_1b smallint, col_1c int, col_1d bigint, col_1e char(10) not null);
insert into tbl1 values (0,1,1,7,"a");
insert into tbl1 values (0,1,2,8,"b");
insert into tbl1 values (0,1,3,9,"c");
insert into tbl1 values (0,1,4,10,"D");
insert into tbl1 values (0,1,5,11,"a");
insert into tbl1 values (0,1,6,12,"c");

> select count(col_1b) from tbl1;
+--------------------+
| count(col_1b) |
+--------------------+
| 6 |
+--------------------+

> select count(*) from tbl1 where col_1d<10;
+-------------+
| count(*) |
+-------------+
| 3 |
+-------------+

mysql> select count(distinct col_1b) from tbl1;
+-----------------------------+
| count(distinct col_1b) |
+-----------------------------+
| 1 |
+-----------------------------+
```
