题解 | #直播开始时直播间在线人数#date_format

牛客直播开始时各直播间在线人数

https://www.nowcoder.com/practice/bdd30e83d47043c99def6d9671bb6dbf

select  a.course_id	,course_name,
# 取出分组后的 in_datetime的time 要早于它开始的时间
count(distinct user_id) as online_num  
# 下面的having 已经筛选除了 
# 上面的只需要计数  

from course_tb a, attend_tb b
where a.course_id = b.course_id  
and  '19:00' BETWEEN DATE_FORMAT(in_datetime,'%H:%i') and DATE_FORMAT(out_datetime,'%H:%i')

group by a.course_id,course_name
# 请你统计直播开始时(19:00),各科目的在线人数
# and  '19:00' BETWEEN DATE_FORMAT(in_datetime,'%H:%i') and DATE_FORMAT(out_datetime,'%H:%i')


order by a.course_id asc;


/*
使用date_format(date,format)提取日期的情况较多,较少使用提取时间,这里补充一下提取格式:
format 规定日期/时间的输出格式
%T 时间, 24-小时 (hh:mm:ss)
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%H 小时 (00-23)
%h 小时 (01-12)
%i 分钟,数值(00-59)
%S 秒(00-59)
%s 秒(00-59)
*/







/*
第一种:
1
2
date_format(a.in_datetime,'%H:%i:%s') <= '19:00:00'
date_format(a.out_datetime,'%H:%i:%s') >= '19:00:00'
第二种:
1
2
right(a.in_datetime,8) <= '19:00:00'
right(a.out_datetime,8) >= '19:00:00'
第三种:
1
2
time(a.in_datetime) <= '19:00:00'
time(a.out_datetime) >= '19:00:00'
*/



SQL错题 文章被收录于专栏

每天学习一遍 刷题刷题 越刷越强!

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务