当前位置: 首页 > news >正文

46. 出勤率问题

文章目录

        • 题目需求
        • 实现一
        • 题目来源

题目需求

现有用户出勤表(user_login)如下。

user_id (用户id)course_id (课程id)login_in (登录时间)login_out (登出时间)
112022-06-02 09:08:242022-06-02 10:09:36
112022-06-02 11:07:242022-06-02 11:44:21
122022-06-02 13:50:242022-06-02 14:21:50
222022-06-02 13:50:102022-06-02 15:30:20

课程报名表(course_apply)如下。

course_id (课程id)course_name (课程名称)user_id (用户id)
1java[1,2,3,4,5,6]
2大数据[1,2,3,6]
3前端[2,3,4,5]

注:出勤率指用户看直播时间超过40分钟,求出每个课程的出勤率(结果保留两位小数)。

期望结果如下(截取部分):

course_id (课程id)adr <decimal(16,2)> (出勤率)
10.33
20.50
30.25

实现一

with course_apply_num as (-- 1) 计算出每个课程的报名人数select course_id,size(user_id) as all_numfrom course_apply
),attendance_num as (-- 3) 计算每个课程中 出勤的人数select course_id,sum(if(study_time > 40 * 60, 1, 0)) as attendancefrom (-- 2) 计算每个用户在每个课程中总的学习时间(单位s)select user_id,course_id,-- 10位数的时间戳是以秒为单位;13位数的时间戳是以毫秒为单位。sum(unix_timestamp(login_out) - unix_timestamp(login_in)) as study_timefrom user_logingroup by user_id, course_id) t1group by course_id)select course_apply_num.course_id,cast((attendance / all_num) as decimal(16, 2)) as adr
from course_apply_numjoin attendance_numon course_apply_num.course_id = attendance_num.course_id;

题目来源

http://practice.atguigu.cn/#/question/46/desc?qType=SQL

http://www.lryc.cn/news/159180.html

相关文章:

  • Xilinx IDDR与ODDR原语的使用
  • 面试系列 - 序列化和反序列化详解
  • 基于Elasticsearch + Fluentd + Kibana(EFK)搭建日志收集管理系统
  • 【Python小项目之Tkinter应用】解决Python的Pyinstaller将.py文件打包成.exe可执行文件后文件过大的问题
  • Ab3d.DXEngine 6.0 Crack 2023
  • Wireshark抓包常用指令
  • Docker Swarm
  • jupyter notebook安装和删除kernel的解决方案
  • 中级深入--day16
  • 【洛谷 P1031】[NOIP2002 提高组] 均分纸牌 题解(贪心)
  • E5071C是德科技网络分析仪
  • ViTPose+:迈向通用身体姿态估计的视觉Transformer基础模型 | 京东探索研究院
  • Android 播放mp3文件
  • 在OpenStack私有云上安装配置虚拟机
  • pyCharm远程DEBUG
  • 微服务框架Go-kit
  • 《王道24数据结构》课后应用题——第三章 栈和队列
  • 查看linux开发板的CPU频率
  • 对象模型和this指针(个人学习笔记黑马学习)
  • SpringCloudAlibaba常用组件
  • Shotcut for Mac:一款强大而易于使用的视频编辑器
  • 【数学建模】2023数学建模国赛C题完整思路和代码解析
  • 论数据库的种类
  • docker笔记4:高级复杂安装-mysql主从复制
  • MySQL卸载干净再重新安装【Windows】
  • 在VScode中如何将界面语言设置为中文
  • jenkins如何请求http接口及乱码问题解决
  • 景区洗手间生活污水处理设备厂家电话
  • Java基础(四)
  • Android WIFI工具类 特别兼容Android12