MySQL 指定特定值计算列数

MySQL 指定特定值计算列数

MySQL 是一款常用的关系型数据库管理系统,而在进行数据统计分析时,计算特定值出现的次数是很常见的操作需求。本文将分享如何在 MySQL 中计算指定值出现的列数。

阅读更多:MySQL 教程

1. COUNT 函数

在 MySQL 中,使用 COUNT 函数可以直接统计某个字段或表中某个具体值出现的次数。例如,统计表中 name 字段值为“Tom”的数量,可以执行以下 SQL 语句:

SELECT COUNT(*) FROM table WHERE name='Tom';
Mysql

此处的 COUNT(*) 表示统计所有行数,WHERE 子句用于筛选 name 字段为“Tom”的行。

2. CASE 语句

当需要针对多个字段或多个值进行统计时,可以使用 CASE 语句。CASE 语句可以通过 WHEN 条件判断来统计特定值出现的次数。例如,统计表中 sex 字段值为“男”的数量,可以执行以下 SQL 语句:

SELECT SUM(CASE WHEN sex='男' THEN 1 ELSE 0 END) AS '男性人数' FROM table;
Mysql

此处的 CASE 语句表示当 sex 字段值为“男”时返回 1,否则返回 0,最后通过 SUM 函数将所有返回值加和,得到男性人数。AS 子句用于给返回值命名。

3. GROUP BY 子句

当需要按照某个字段值进行分组统计时,可以使用 GROUP BY 子句。例如,统计表中 city 字段不同值出现的次数,可以执行以下 SQL 语句:

SELECT city, COUNT(*) FROM table GROUP BY city;
Mysql

此处的 GROUP BY 子句表示按照 city 字段分组,COUNT(*) 统计每组出现的数量。

4. 实例

假设有如下表格:

id name sex age city
1 Tom 20 北京
2 Amy 22 上海
3 Jack 23 广州
4 Mary 21 北京
5 John 24 广州
6 Alex 22 上海

统计表中男女各出现的次数和各城市出现的人数,可以执行以下 SQL 语句:

SELECT sex, COUNT(*) FROM table GROUP BY sex;
Mysql

结果为:

sex COUNT(*)
2
4
SELECT city, COUNT(*) FROM table GROUP BY city;
Mysql

结果为:

city COUNT(*)
上海 2
北京 2
广州 2

总结

在 MySQL 中,计算指定值出现的列数可以使用 COUNT 函数、CASE 语句和 GROUP BY 子句。COUNT 函数适用于单个字段或单个值的统计;CASE 语句适用于多个字段或多个值的统计;GROUP BY 子句适用于按照某个字段值进行分组统计。以上三种方法可以组合使用,实现更灵活的数据统计分析。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册