在MySQL中,可以使用GROUP BY子句按年龄范围分组数据,并使用ORDER BY子句对组进行排序。下面是一个示例代码:
创建一个名为"persons"的表,包含"id"、"name"和"age"列:
CREATE TABLE persons ( id INT PRIMARY KEY, name VARCHAR(100), age INT );
插入一些示例数据:
INSERT INTO persons (id, name, age) VALUES (1, 'John', 25), (2, 'David', 30), (3, 'Sarah', 22), (4, 'Emma', 35), (5, 'Michael', 40);
按年龄范围分组并按每个组的最小年龄排序,可以使用如下查询语句:
SELECT MIN(age) AS min_age, MAX(age) AS max_age FROM persons GROUP BY FLOOR(age / 10) ORDER BY min_age;
这将返回一个结果集,按年龄范围分组并按最小年龄排序。例如,以下是根据上述示例数据返回的结果:
min_age | max_age --------+-------- 20 | 29 30 | 39 40 | 40
这表示有2个人的年龄在20到29岁范围内,1个人的年龄在30到39岁范围内,以及1个人的年龄在40岁以上。
上一篇:按年龄范围和性别汇总