首页 > 数据库 >mysql练习--浙大不同难度题目的正确率

mysql练习--浙大不同难度题目的正确率

时间:2022-09-27 14:23:14浏览次数:58  
标签:level -- tb2 question 正确率 mysql device id difficult

描述

  题目:现在运营想要了解浙江大学的用户在不同难度题目下答题的正确率情况,请取出相应数据,并按照准确率升序输出。   示例: user_profile
id device_id gender age university gpa active_days_within_30 question_cnt answer_cnt
1 2138 male 21 北京大学 3.4 7 2 12
2 3214 male   复旦大学 4 15 5 25
3 6543 female 20 北京大学 3.2 12 3 30
4 2315 female 23 浙江大学 3.6 5 1 2
5 5432 male 25 山东大学 3.8 20 15 70
6 2131 male 28 山东大学 3.3 15 7 13
7 4321 female 26 复旦大学 3.6 9 6 52
示例: question_practice_detail
id device_id question_id result
1 2138 111 wrong
2 3214 112 wrong
3 3214 113 wrong
4 6543 111 right
5 2315 115 right
6 2315 116 right
7 2315 117 wrong
  示例: question_detail
question_id difficult_level
111 hard
112 medium
113 easy
115 easy
116 medium
117 easy
根据示例,你的查询应返回以下结果:
difficult_level correct_rate
easy 0.5000
medium 1.0000

select
    difficult_level,
    sum(if(result = 'right', 1, 0)) / count(1) as correct_rate
from (
    select
        tb1.device_id as device_id,
        tb2.question_id as question_id,
        tb2.result as result,
        tb3.difficult_level as difficult_level
    from (
        select 
            distinct device_id
        from user_profile
        where university = '浙江大学'
    ) tb1 
    join (
        select
            device_id,
            question_id,
            result
        from question_practice_detail
    ) tb2 on tb1.device_id = tb2.device_id
    join (
        select
            question_id,
            difficult_level
        from question_detail
    ) tb3 on tb2.question_id = tb3.question_id
) tmp
group by difficult_level
order by correct_rate

思路:创建一个临时表tmp,使用join关联三个表

标签:level,--,tb2,question,正确率,mysql,device,id,difficult
From: https://www.cnblogs.com/xinger123/p/16734385.html

相关文章

  • 【Devops】【jenkins】jenkins上下游工程传递参数,文件传参
    一、背景Devops打通上下游,从开发编译打包到测试自动化到运维部署,最后通知结果采用将参数写入profile.txt文件中,传递到下游工程,下游工程读取profile.txt文件中的变量进行......
  • 直播电商平台开发,顺序循环图片切换
    直播电商平台开发,顺序循环图片切换1.body <divclass="box">    <divclass="btnbox">    <buttonclass="active">顺序播放</button>    <bu......
  • PCIE背景知识学习(7)
    PCIE背景知识学习(7)每个PCIe功能(Function)的标识在其所在的设备内,以及这个设备所连接的总线内,都是唯一的。其标识符一般被称为“BDF”。   仔细看图中的总线序号,观察......
  • 直播平台怎么搭建,实现js开光灯效果
    直播平台怎么搭建,实现js开光灯效果 <!DOCTYPEhtml><html><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-sca......
  • CSS快速入门
    1.快速入门​ Style的使用有三种方法:​ 方式一:在标签内直接写CSS样式。​ ​ 方式二:在head标签里面使用(把字体设置为红色)​ ​ 方式三:在文件外写CSS样式,使用Link......
  • VS2008 - VS2010默认环境设置
    我们在安装VS2008后会默认让我们选择一个默认开发环境如果我们想做另外一种开发时,就得切换成另外一种开发环境 在开始菜单打开:MicrosoftVisualStudio2008>>Visual......
  • 3.实现授权的动态配置
    1.总结:昨天主要是实现了登录的动态配置权限,在我们的配置类中注册一个Hierarchy的bean,自定义FilterInvocationSecurityMetadataSource和AccessDecisionManager类,首......
  • Code First、DBFirst、Model First
    CodeFirst、DBFirst、ModelFirstCodeFirst领域设计时先定义实体类,用实体类生成数据库DbFirst从数据库生成实体类ModelFirst使用VisualStudio实体设计器,设计ER,同......
  • Facebook – Reviews (Graph API)
    前言企业网站经常需要放customerreviews来增加conversion.常见的Reviews平台有FacebookReviews和GoogleReviews.这篇,我将介绍如果通过ASP.NETCorecalli......
  • 【体验有奖】使用 Serverless 1 步搭建照片平台!
    实验介绍当前,Serverless技术已经被广泛应用,Serverless=FaaS+BssS的概念已经深入人心。本场景由函数计算和RDSMySQLServerless联合打造,通过函数计算的快速部署......