题目 : https://www.nowcoder.com/practice/3b3d13d844ce4c2ca2cd2a049cb6b695?tpId=341
数据
drop table if exists questions_pass_record_detail;
CREATE TABLE `questions_pass_record_detail` (
`user_id` int NOT NULL,
`question_type` varchar(32) NOT NULL,
`device` varchar(14) NOT NULL,
`pass_count` int NOT NULL,
`date` date NOT NULL
);
INSERT INTO questions_pass_record_detail VALUES(101, 'java', 'app', 2, '2020-03-01');
INSERT INTO questions_pass_record_detail VALUES(102, 'sql', 'pc', 15,'2021-07-07');
INSERT INTO questions_pass_record_detail VALUES(102, 'python', 'pc', 9, '2021-04-09');
INSERT INTO questions_pass_record_detail VALUES(104, 'python', 'app', 3,'2022-03-17');
INSERT INTO questions_pass_record_detail VALUES(105, 'sql', 'pc', 60, '2016-08-15');
INSERT INTO questions_pass_record_detail VALUES(204, 'sql', 'pc', 20, '2019-05-15');
需求
统计不同类型题目的刷题总数 passCnt
,并按刷题总数进行升序排列
查询结果 :
question_type|passCnt
java|2
python|12
解决
思路 :
- 根据不同的类型题目进行分类
- 统计不同类型的刷题数
- 对刷题数进行排序
select question_type,
sum(pass_count) as passCnt
from questions_pass_record_detail
group by question_type
order by passCnt;