查询各年龄段人数

简介: 查询各年龄段人数

1、数据库表结构:

CREATE TABLE `name` (
  `id`   int(11)      NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age`  int(11)      DEFAULT NULL,
  `sex`  varchar(255) DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;
INSERT INTO `name` (`id`, `name`, `age`, `sex`) VALUES (1, '张三', 11, '0');
INSERT INTO `name` (`id`, `name`, `age`, `sex`) VALUES (2, '李四', 21, '0');
INSERT INTO `name` (`id`, `name`, `age`, `sex`) VALUES (3, '王五', 21, '1');
INSERT INTO `name` (`id`, `name`, `age`, `sex`) VALUES (4, '赵六', 41, '1');

2、问题:

  • 1个表有idnameagesex列。
  • 查询年龄在10-2021-30大于30的人数。

3、答案:

SELECT
  CASE    
    WHEN ( age >= 10 AND age <= 20 ) THEN '10-20' 
    WHEN ( age >= 21 AND age <= 30 ) THEN '21-30'
    ELSE '30-' 
  END 'age_range',
count(*) AS count 
FROM name 
GROUP BY
  CASE
    WHEN ( age >= 10 AND age <= 20 ) THEN '10-20' 
    WHEN ( age >= 21 AND age <= 30 ) THEN '21-30'
    ELSE '30-' 
  END;

4、执行结果:

目录
打赏
0
0
0
0
35
分享
相关文章
第4章-7 统计学生平均成绩与及格人数
该程序计算一组学生的平均成绩和及格人数。输入包含学生人数N和N个成绩,输出格式为&quot;average = 平均成绩&quot;和&quot;count = 及格人数&quot;。提供的代码首先读取学生数量,然后累加成绩并计数及格者。平均成绩保留一位小数。当学生人数为0时,平均成绩和及格人数分别输出0.0和0。
197 1
HyperLogLog——用户日活(dau)、月活(mau)统计
HyperLogLog——用户日活(dau)、月活(mau)统计
205 1
|
26天前
|
场景题:10亿QQ用户,如何统计在线人数?
在竞争激烈的就业市场中,面试不仅考察八股文、算法和项目经验,场景题也愈发重要。本文介绍Java面试中的“在线人数统计”问题:面对亿级用户,如何高效统计在线人数。传统数据库方案难以应对频繁的上线下线操作带来的IO压力,而使用Bitmap(位数组)或Redis的Bitmap命令则能有效解决这一问题。通过将每个用户的在线状态映射到位数组中,仅需119.2MB内存即可处理10亿用户,在线人数统计变得简单高效。
72 8
|
6月前
【九度 OJ 05】统计同成绩学生人数
【九度 OJ 05】统计同成绩学生人数
29 1
|
10月前
1038 统计同成绩学生 (20 分)
1038 统计同成绩学生 (20 分)
成绩统计
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。
118 0
统计网站的在线人数
统计网站的在线人数
157 0
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的
统计一座城市 (10万或100万人口)中男女人数,以及男性中消费额最高和最低的,女性中消费额最高和最低的