码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SQL 基础篇 SQL 22 统计每个学校的答过题的用户的平均答题数


    SQL基础篇(汇总)刷题传送门

    题目链接


    题面

     

    样例输入

    drop table if exists `user_profile`;
    drop table if  exists `question_practice_detail`;
    CREATE TABLE `user_profile` (
    `device_id` int NOT NULL,
    `gender` varchar(14) NOT NULL,
    `age` int ,
    `university` varchar(32) NOT NULL,
    `gpa` float,
    `active_days_within_30` int
    );
    CREATE TABLE `question_practice_detail` (
    `device_id` int NOT NULL,
    `question_id`int NOT NULL,
    `result` varchar(32) NOT NULL
    );

    INSERT INTO user_profile VALUES(2138,'male',21,'北京大学',3.4,7);
    INSERT INTO user_profile VALUES(3214,'male',null,'复旦大学',4.0,15);
    INSERT INTO user_profile VALUES(6543,'female',20,'北京大学',3.2,12);
    INSERT INTO user_profile VALUES(2315,'female',23,'浙江大学',3.6,5);
    INSERT INTO user_profile VALUES(5432,'male',25,'山东大学',3.8,20);
    INSERT INTO user_profile VALUES(2131,'male',28,'山东大学',3.3,15);
    INSERT INTO user_profile VALUES(4321,'male',28,'复旦大学',3.6,9);
    INSERT INTO question_practice_detail VALUES(2138,111,'wrong');
    INSERT INTO question_practice_detail VALUES(3214,112,'wrong');
    INSERT INTO question_practice_detail VALUES(3214,113,'wrong');
    INSERT INTO question_practice_detail VALUES(6543,111,'right');
    INSERT INTO question_practice_detail VALUES(2315,115,'right');
    INSERT INTO question_practice_detail VALUES(2315,116,'right');
    INSERT INTO question_practice_detail VALUES(2315,117,'wrong');
    INSERT INTO question_practice_detail VALUES(5432,118,'wrong');
    INSERT INTO question_practice_detail VALUES(5432,112,'wrong');
    INSERT INTO question_practice_detail VALUES(2131,114,'right');
    INSERT INTO question_practice_detail VALUES(5432,113,'wrong');

    样例输出

    北京大学|1.0000
    复旦大学|2.0000
    山东大学|2.0000
    浙江大学|3.0000

    题意理解

    我们将两个表通过device_id 连接起来 而且这个id是唯一的

    通过对大学的分组然后 答题表的问题总数 除以 这个device_id 的去重之后的总个数

    因为一个人可能答了不止一次 最后记得出来是数字要保留四位

    代码 

    1. select user_profile.university,
    2. round(count(question_practice_detail.question_id)/count(distinct question_practice_detail.device_id),4)
    3. as avg_answer_cnt
    4. from user_profile join question_practice_detail
    5. on user_profile.device_id=question_practice_detail.device_id
    6. group by user_profile.university

  • 相关阅读:
    [附源码]Python计算机毕业设计Django面向高校活动聚App
    【Kafka】(1)基础知识汇总
    KubeSphere v3.4.0 部署K8S Docker + Prometheus + grafana
    Qt-OpenCV学习笔记(中级)-- 总结
    【HTML源码--一】:登录+蛋糕+照片+烟花;生日快乐、新年快乐、表白等
    【C++】函数指针 ② ( 数组类型基本语法 | 数组语法 | 数组首元素地址 和 数组地址 | 定义数组类型 | 定义指针数组类型语法 | 直接定义指针数组类型变量语法 )
    react自定义hook解决websocket连接,useWebSocket
    笔记本触摸板手势使用
    路由器二次开发一步一步把工业路由器变成一个高端的可指定出网、节点和链路的路由器,包含详细过程及快捷脚本(三)
    效率系列(九) macOS入门各式快捷操作
  • 原文地址:https://blog.csdn.net/NHS6671/article/details/124975291
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号