题解 | #广告点击的高峰期#

广告点击的高峰期

https://www.nowcoder.com/practice/6756d65784f9413b8505c1d0c6754b3a

select  click_hour,click_cnt

from user_ad_click_time

click_hour 哪个 小时 为广告点击的高峰期

click_cnt 发生的点击次数

思路:

1 先将点击按小时分类 

case 

    when click_time between '08:00:00' and '08:59:59' then '8点'

    when click_time between '09:00:00' and '09:59:59' then '9点'

case when 这个思路不行,得分24个太麻烦了,用hour函数提取

2 提取小时

hour(click_time)  

count数出小时最多,排倒序,取第一位

count(hour(click_time))  limit 1

    select 

         hour(click_time)  click_hour

        ,count(hour(click_time)) click_cnt

    from user_ad_click_time

    group by hour(click_time)

    order by click_cnt desc

    limit 1

有没有大佬提供一下思路这个高峰不唯一怎么解?

全部评论
考虑下窗口函数,找到每个广告的点击数,然后,窗口排序,取1不就好了。
点赞 回复 分享
发布于 2023-01-11 18:25 北京

相关推荐

03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务