Mysql 聚合函数count,if的使用
2022/2/28 2:21:27
本文主要是介绍Mysql 聚合函数count,if的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
无论是对于Mysql还是C++,Java等语言的学习都需要刷题,刷题可以提高对基本语法的熟悉,不刷题的话很容易遗忘一些知识点,计算机课程的学习主要要实践
题目: 现在运营想要了解复旦大学的每个用户在8月份练习的总题目数和回答正确的题目数情况,请取出相应明细数据,对于在8月份没有练习过的用户,答题数结果返回0.
示例输入
CREATE TABLE user_profile
(
id
int NOT NULL,
device_id
int NOT NULL,
gender
varchar(14) NOT NULL,
age
int ,
university
varchar(32) NOT NULL,
gpa
float,
active_days_within_30
int ,
question_cnt
int ,
answer_cnt
int
);
CREATE TABLE question_practice_detail
(
id
int NOT NULL,
device_id
int NOT NULL,
question_id
int NOT NULL,
result
varchar(32) NOT NULL,
date
date NOT NULL
);
CREATE TABLE question_detail
(
id
int NOT NULL,
question_id
int NOT NULL,
difficult_level
varchar(32) NOT NULL
);
INSERT INTO user_profile VALUES(1,2138,‘male’,21,‘北京大学’,3.4,7,2,12);
INSERT INTO user_profile VALUES(2,3214,‘male’,null,‘复旦大学’,4.0,15,5,25);
INSERT INTO user_profile VALUES(3,6543,‘female’,20,‘北京大学’,3.2,12,3,30);
INSERT INTO user_profile VALUES(4,2315,‘female’,23,‘浙江大学’,3.6,5,1,2);
INSERT INTO user_profile VALUES(5,5432,‘male’,25,‘山东大学’,3.8,20,15,70);
INSERT INTO user_profile VALUES(6,2131,‘male’,28,‘山东大学’,3.3,15,7,13);
INSERT INTO user_profile VALUES(7,4321,‘male’,28,‘复旦大学’,3.6,9,6,52);
INSERT INTO question_practice_detail VALUES(1,2138,111,‘wrong’,‘2021-05-03’);
INSERT INTO question_practice_detail VALUES(2,3214,112,‘wrong’,‘2021-05-09’);
INSERT INTO question_practice_detail VALUES(3,3214,113,‘wrong’,‘2021-06-15’);
INSERT INTO question_practice_detail VALUES(4,6543,111,‘right’,‘2021-08-13’);
INSERT INTO question_practice_detail VALUES(5,2315,115,‘right’,‘2021-08-13’);
INSERT INTO question_practice_detail VALUES(6,2315,116,‘right’,‘2021-08-14’);
INSERT INTO question_practice_detail VALUES(7,2315,117,‘wrong’,‘2021-08-15’);
INSERT INTO question_practice_detail VALUES(8,3214,112,‘wrong’,‘2021-05-09’);
INSERT INTO question_practice_detail VALUES(9,3214,113,‘wrong’,‘2021-08-15’);
INSERT INTO question_practice_detail VALUES(10,6543,111,‘right’,‘2021-08-13’);
INSERT INTO question_practice_detail VALUES(11,2315,115,‘right’,‘2021-08-13’);
INSERT INTO question_practice_detail VALUES(12,2315,116,‘right’,‘2021-08-14’);
INSERT INTO question_practice_detail VALUES(13,2315,117,‘wrong’,‘2021-08-15’);
INSERT INTO question_practice_detail VALUES(14,3214,112,‘wrong’,‘2021-08-16’);
INSERT INTO question_practice_detail VALUES(15,3214,113,‘wrong’,‘2021-08-18’);
INSERT INTO question_practice_detail VALUES(16,6543,111,‘right’,‘2021-08-13’);
INSERT INTO question_detail VALUES(1,111,‘hard’);
INSERT INTO question_detail VALUES(2,112,‘medium’);
INSERT INTO question_detail VALUES(3,113,‘easy’);
INSERT INTO question_detail VALUES(4,115,‘easy’);
INSERT INTO question_detail VALUES(5,116,‘medium’);
INSERT INTO question_detail VALUES(6,117,‘easy’);
答案
device_id university question-cnt right_question_cnt
3214 复旦大学 3 0
4321 复旦大学 0 0
select user.device_id,count(qpd.device_id),sum(if(qpd.result='rigth',1,0)) from user_profile user left join question_practice_detail qpd on user.device_id=qpd.device_id and month(qpd.date)=8 and user.university='复旦大学' group by user.device_id;
这篇关于Mysql 聚合函数count,if的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程