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 |

相关推荐
-Xie-几秒前
Mysql杂志(十四)——Mysql逻辑架构
数据库·mysql·架构
一叶飘零_sweeeet2 小时前
从 MySQL 到 TiDB:分布式数据库的无缝迁移与实战指南
数据库·mysql·tidb
代码不停3 小时前
MySQL联合查询
java·数据库·mysql
宴之敖者、4 小时前
MySQL——数据库基础
数据库·mysql
好名字更能让你们记住我5 小时前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
网硕互联的小客服5 小时前
Mysql服务无法启动,显示错误1067如何处理?
数据库·mysql
哥哥还在IT中5 小时前
mysql分库分表数据量核查问题
数据库·mysql·adb
paid槮5 小时前
MySql基础:数据类型
android·mysql·adb
黎相思5 小时前
MySQL在Centos 7环境下安装
数据库·mysql·centos
Codeking__10 小时前
mysql基础——库与表的操作
数据库·mysql