SQL23 统计每个学校各难度的用户平均刷题数

题解 | #统计每个学校各难度的用户平均刷题数#

题意明确:

计算每个学校用户不同难度下的用户平均答题题目数


问题分解:

  • 限定条件:无;
  • 每个学校:按学校分组group by university
  • 不同难度:按难度分组group by difficult_level
  • 平均答题数:总答题数除以总人数count(qpd.question_id) / count(distinct qpd.device_id)
  • 来自上面信息三个表,需要联表,up与qpd用device_id连接,qd与qpd用question_id连接。

细节问题:

  • 表头重命名:as
  • 平均值精度:保留4位小数round(x, 4)

完整代码:

|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | select ``university, ``difficult_level, ``round(count(qpd.question_id) / count(distinct qpd.device_id),``4``) as avg_answer_cnt from question_practice_detail as qpd left join user_profile as up on up.device_id=qpd.device_id left join question_detail as qd on qd.question_id=qpd.question_id group by university, difficult_level |

相关推荐
盼哥PyAI实验室16 小时前
MySQL 数据库入门第一课:安装、账户、库、表与数据操作详解
数据库·mysql
h***593317 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
Doro再努力18 小时前
【MySQL数据库09】外键约束与多表查询基础
数据库·mysql
高级程序源18 小时前
springboot社区医疗中心预约挂号平台app-计算机毕业设计源码16750
java·vue.js·spring boot·mysql·spring·maven·mybatis
O***Z61618 小时前
三分钟内快速完成MySQL到达梦数据库的迁移
数据库·mysql
菜鸟小九20 小时前
mysql(锁)
数据库·mysql·oracle
云和数据.ChenGuang21 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
Z***G4791 天前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
aml258__1 天前
MySQL 数据库管理入门:从创建到删除(T1)
数据库·mysql·oracle·初学数据库
beata1 天前
MySQL 索引你真的用对了吗?
mysql