count用法

在 MySQL 中,COUNT 是一个聚合函数,用于统计行数或计算特定列中非 NULL 值的数量。它是数据分析中非常常用的函数,可以帮助你快速了解数据集中的记录数量。

基本语法

1
2
3
sql复制代码

COUNT(expression)
  • expression

    :可以是一个列名、

    1
    *

或其他表达式。

  • 使用 * 时,COUNT 会统计所有行数,包括 NULL 值。
  • 使用列名时,COUNT 只会统计该列中非 NULL 的值。
  • 使用其他表达式时,COUNT 会统计表达式结果非 NULL 的行数。

示例

假设我们有一个表 employees,结构如下:

id name department
1 Alice HR
2 Bob IT
3 Charlie NULL
4 David HR
5 Eve IT
  1. 统计总行数

    使用 * 来统计表中所有行的数量:

    1
    2
    3
    sql复制代码

    SELECT COUNT(*) FROM employees;

    结果:5

  2. 统计特定列的非 NULL 值数量

    统计 department 列中非 NULL 的值数量:

    1
    2
    3
    sql复制代码

    SELECT COUNT(department) FROM employees;

    结果:4 (因为有一行的 departmentNULL

  3. 结合其他条件使用

    可以结合 WHERE 子句来统计满足特定条件的行数,例如统计部门为 HR 的员工数量:

    1
    2
    3
    sql复制代码

    SELECT COUNT(*) FROM employees WHERE department = 'HR';

    结果:2

  4. 使用 GROUP BY 进行分组统计

    可以按部门进行分组,统计每个部门的员工数量:

    1
    2
    3
    sql复制代码

    SELECT department, COUNT(*) FROM employees GROUP BY department;

    结果

department COUNT(*)
HR 2
IT 2
NULL 1

注意事项

  • COUNT(*) 会统计所有行,包括包含 NULL 值的行。
  • COUNT(column_name) 只会统计指定列中非 NULL 的值。
  • COUNT 可以与其他聚合函数(如 SUM, AVG, MAX, MIN 等)以及 GROUP BYHAVING 子句结合使用,进行更复杂的数据分析。