SQL中COUNT函数怎么用_COUNT函数使用方法与实例详解

26次阅读

count函数用于统计行数,包括 COUNT(*)统计所有行、COUNT(列名)忽略 NULL 值、COUNT(DISTINCT 列名)统计唯一非空值,可结合 WHERE 条件和 GROUP BY 分组实现多维度计数。

SQL 中 COUNT 函数怎么用_COUNT 函数使用方法与实例详解

sql 中,COUNT 函数 用于统计查询结果中行的数量,是 聚合函数 中最常用的一个。它可以用来统计表中的总记录数、某列非空值的个数,或结合条件进行分组统计。下面详细介绍其用法和常见实例。

COUNT(*) 统计所有行数

使用 COUNT(*) 可以统计查询返回的所有行数,包括包含 NULL 值的行。

例如:统计学生表中的总人数

select COUNT(*) AS total_students FROM students;

这会返回 students 表中所有记录的总数,不管任何字段是否为 NULL。

COUNT(列名) 统计非空值数量

COUNT(列名) 只统计该列中非 NULL 值的行数,忽略 NULL 值。

例如:统计有电话号码的学生数量

SELECT COUNT(phone) AS has_phone_count FROM students;

如果 phone 字段中有 10 条记录为 NULL,则这些不会被计入结果。

COUNT(DISTINCT 列名) 统计唯一值个数

使用 COUNT(DISTINCT 列名) 可以统计某一列中不同(去重后)非 NULL 值的数量。

例如:统计选课表中不同学生的数量

SELECT COUNT(DISTINCT student_id) AS unique_students FROM enrollments;

SQL 中 COUNT 函数怎么用_COUNT 函数使用方法与实例详解

阿里云 - 虚拟数字人

阿里云 - 虚拟数字人是什么?…

SQL 中 COUNT 函数怎么用_COUNT 函数使用方法与实例详解2

查看详情 SQL 中 COUNT 函数怎么用_COUNT 函数使用方法与实例详解

即使一个学生有多条选课记录,也只计算一次。

结合 WHERE 条件进行条件计数

COUNT 常与 WHERE 子句配合,实现条件统计。

例如:统计年龄大于 20 岁的学生人数

SELECT COUNT(*) AS count_over_20 FROM students WHERE age > 20;

只有满足条件的行才会被 COUNT 函数统计。

也可以在单个查询中实现多条件计数:

SELECT
  COUNT(*) AS total,
  COUNT(CASE WHEN gender = 'M' THEN 1 END) AS male_count,
  COUNT(CASE WHEN gender = 'F' THEN 1 END) AS female_count
FROM students;

这种方式可以在一次查询中分别统计男女数量。

结合 GROUP BY 进行分组统计

使用 GROUP BY 可以按某一列分组,并对每组进行计数。

例如:统计每个班级的学生人数

SELECT class_id, COUNT(*) AS student_count FROM students GROUP BY class_id;

结果会列出每个 class_id 对应的學生数量。

基本上就这些。掌握 COUNT(*)、COUNT(列名)和 COUNT(DISTINCT)的 区别,再结合 WHERE 和 GROUP BY,就能应对大多数统计需求。关键是要清楚 NULL 值是否参与统计,以及是否需要去重。不复杂但容易忽略细节。

站长
版权声明:本站原创文章,由 站长 2025-10-29发表,共计1239字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources