SQL VQ14 统计每天刷题数超过5的user_id以及刷题数
2023-09-14 09:06:14 时间
题目 : https://www.nowcoder.com/practice/852a14b888c448f1a26f0e2e20f668a7?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');
需求
统计每天刷题数超过 5 的 user_id , 刷题数
查询结果 :
date|user_id|total_pass_count
2021-07-07|102|15
2021-04-09|102|9
解决
注意点 :
- 查询顺序 : from -> where -> group (含聚合) -> having -> order -> select
select `date`,
user_id,
sum(pass_count) as total_pass_count
from questions_pass_record_detail
group by `date`, user_id
having total_pass_count > 5;
相关文章
- 数位类统计问题--数位DP
- SQL Server 监控统计阻塞脚本信息
- 阿里规范 - 五、MySQL 数据库 - (三)SQL语句 - 1 - 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。
- Golang 001. 统计7的倍数或包含7的数字
- Atitit sql计划任务与查询优化器--统计信息模块
- 【基础知识】LTE网络话务统计优化
- 【SQL开发实战技巧】系列(二十):数据仓库中时间类型操作(进阶)获取季度开始结束时间以及如何统计非连续性时间的数据
- 如何统计随机森林节点数
- Ngnix 常用统计命令