题解 | #牛客直播各科目出勤率#

牛客直播各科目出勤率

http://www.nowcoder.com/practice/0cab547df4f0430b93042128f445d899

# 简约算法
select t1.course_id,t2.course_name
,round(count(distinct(case when timestampdiff(minute,t3.in_datetime,t3.out_datetime)>=10 then t1.user_id else null end ))*100/count(distinct (case when t1.if_sign = 1 then t1.user_id else null end)),2)  as baoming
from behavior_tb as t1
left join attend_tb as t3
on t1.course_id = t3.course_id and t1.user_id = t3.user_id 
left join course_tb as t2 
on t1.course_id = t2.course_id 
group by t1.course_id,t2.course_name 
order by t1.course_id 

全部评论
如果用户单次进入直播时间没到10分钟,但是多次加起来到了,用这个代码数不出来呀
2 回复 分享
发布于 2022-02-27 17:02
select b.course_id,course_name,round(count(distinct case when timestampdiff(minute,in_datetime,out_datetime)>=10 then a.user_id else null end)*100/count(distinct case when if_sign=1 then b.user_id else null end),2) as 'attend_rate(%)' from attend_tb a left join behavior_tb b on a.user_id=b.user_id and a.course_id=b.course_id left join course_tb c on b.course_id=c.course_id group by b.course_id,course_name order by b.course_id 我这个为什么不对呢?嘤嘤嘤
点赞 回复 分享
发布于 2023-05-17 18:28 北京
为什么不能用sum(if_sign)呢
点赞 回复 分享
发布于 2022-07-30 09:30
求问为什么用if不行呢,其他一样的
点赞 回复 分享
发布于 2022-03-20 19:55

相关推荐

06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
昨天 11:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务