mysql按范围分组统计

导读:
MySQL是一种常用的关系型数据库管理系统,它提供了强大的分组统计功能 , 可以根据范围对数据进行分类汇总 。本文将介绍如何使用MySQL按范围分组统计数据,并给出实例演示 。
正文:
1. 创建一个测试表
首先我们需要创建一个测试表,用于演示MySQL的分组统计功能 。
CREATE TABLE test_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT(11) NOT NULL,
PRIMARY KEY (id)
);
2. 插入测试数据
插入一些测试数据,用于后面的分组统计 。
INSERT INTO test_table (name, age) VALUES
('张三', 20),
('李四', 25),
('王五', 30),
('赵六', 35),
【mysql按范围分组统计】('小明', 40),
('小红', 45),
('小芳', 50),
('小刚', 55),
('小李', 60);
3. 按年龄范围分组统计
现在我们要按照不同的年龄范围对数据进行分组统计,假设我们要将年龄分为0-20岁、21-40岁、41-60岁三个范围 。可以使用以下SQL语句实现:
SELECT
CASE
WHEN age BETWEEN 0 AND 20 THEN '0-20'
WHEN age BETWEEN 21 AND 40 THEN '21-40'
ELSE '41-60'
END AS age_range,
COUNT(*) AS count
FROM test_table
GROUP BY age_range;
执行以上SQL语句,将得到以下结果:
+-----------+-------+
| age_range | count |
| 0-20 | 1 |
| 21-40 | 4 |
| 41-60 | 4 |
这个查询使用了CASE语句来根据年龄范围计算出age_range字段,然后使用GROUP BY语句按照age_range字段进行分组统计 。
总结:
本文介绍了如何使用MySQL按范围分组统计数据 。通过使用CASE语句和GROUP BY语句,我们可以轻松地对数据进行分类汇总,实现各种复杂的统计需求 。

    推荐阅读