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

在SQL中,COUNT函数用于统计查询结果中行的数量,是聚合函数中最常用的一个。它可以用来统计表中的总记录数、某列非空值的个数,或结合条件进行分组统计。下面详细介绍其用法和常见实例。
使用 COUNT(*) 可以统计查询返回的所有行数,包括包含NULL值的行。
例如:统计学生表中的总人数SELECT COUNT(*) AS total_students FROM students;
这会返回students表中所有记录的总数,不管任何字段是否为NULL。
COUNT(列名) 只统计该列中非NULL值的行数,忽略NULL值。
例如:统计有电话号码的学生数量SELECT COUNT(phone) AS has_phone_count FROM students;
如果phone字段中有10条记录为NULL,则这些不会被计入结果。
使用 COUNT(DISTINCT 列名) 可以统计某一列中不同(去重后)非NULL值的数量。
例如:统计选课表中不同学生的数量SELECT COUNT(DISTINCT student_id) AS unique_students FROM enrollments;
即使一个学生有多条选课记录,也只计算一次。
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_countFROM students;
这种方式可以在一次查询中分别统计男女数量。
使用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值是否参与统计,以及是否需要去重。不复杂但容易忽略细节。
以上就是SQL中COUNT函数怎么用_COUNT函数使用方法与实例详解的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号