count用法
count用法
在 MySQL 中,COUNT 是一个聚合函数,用于统计行数或计算特定列中非 NULL 值的数量。它是数据分析中非常常用的函数,可以帮助你快速了解数据集中的记录数量。
基本语法
1 | sql复制代码 |
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
2
3sql复制代码
SELECT COUNT(*) FROM employees;结果:5
统计特定列的非
NULL值数量统计
department列中非NULL的值数量:1
2
3sql复制代码
SELECT COUNT(department) FROM employees;结果:4 (因为有一行的
department是NULL)结合其他条件使用
可以结合
WHERE子句来统计满足特定条件的行数,例如统计部门为HR的员工数量:1
2
3sql复制代码
SELECT COUNT(*) FROM employees WHERE department = 'HR';结果:2
使用
GROUP BY进行分组统计可以按部门进行分组,统计每个部门的员工数量:
1
2
3sql复制代码
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 BY、HAVING子句结合使用,进行更复杂的数据分析。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Zsh的树洞!
