mysql count()函数的用法是什么

# 1. 介绍count()函数

MySQL中的count()函数是一种聚合函数,用于计算指定列的行数。count()函数基于所提供的条件,返回您提供的列的任何匹配的行数。常用于计算某表中行数或去重后的行数。在使用时经常与group by语句搭配使用,以统计分组后的行数。

# 2. 基本用法

count()函数的基本用法如下所示:

```

SELECT count(column_name) FROM table_name WHERE condition;

```

其中,column_name 指定需要计算行数的列名。另外,WHERE 子句是可选的,如果没有指定 WHERE 子句,将会计算列中所有行的数量。在如下的示例中,我们从 employees 表中计算出“gender”列中性别为“M”的行数:

```sql

SELECT count(gender) FROM employees WHERE gender='M';

```

结果如下所示:

```

+-------------+

| count(gender) |

+-------------+

| 179973 |

+-------------+

1 row in set (0.39 sec)

```

上述示例中的结果告诉我们,employees表中性别为“M”的行数为179973行。

# 3. 配合group by使用

count()函数在实际应用中,经常和group by子句进行联用。group by子句的作用是对数据库表中的数据进行分类,将数据集中到具有相同属性的列中。可以指定一个或多个列作为分组条件。下面的示例中,我们从“employees”表中,根据“gender”分组并使用count()函数统计每个分组下的行数:

```sql

SELECT gender, count(*) FROM employees GROUP BY gender;

```

上述示例中的结果如下所示:

```

+------+----------+

|gender|count(*) |

+------+----------+

|F |120051 |

|M |179973 |

+------+----------+

2 rows in set (2.48 sec)

```

上述示例中的结果告诉我们,“employees”表中,按性别分组的结果为:女性120051行,男性179973行。

# 4. 对于NULL值处理

注意到count()函数不会统计NULL值。因此,如果您在SQL中想要对包含NULL值的列进行计数,将需要使用count()函数的特殊形式:

```sql

SELECT COUNT(*) FROM employees WHERE gender IS NULL;

```

上述示例中的结果如下:

```

+----------+

| COUNT(*) |

+----------+

| 24|

+----------+

1 row in set (0.03 sec)

```

# 5. 小结

count()函数是MySQL中最常用的聚合函数之一,可以用来统计某个表中符合条件的行数。通过group by语句配合,可以对统计结果进行分组,以进一步分析和统计数据。但需要注意的是,count()函数不会统计NULL值。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签