题解 | #统计自然周平均登录次数情况#

统计自然周平均登录次数情况

https://www.nowcoder.com/practice/4655e5dfa8f64166875d6f77558a1fc8

这个题就是考察对日期函数的应用情况,及思路。

重点:求出每周的周一是哪天,并填充到列表中

在多次尝试和思考后,意识到比较简单的答案

利用weekday算出每天是当周的第几天,然后使用login_date减去这个天数就可以得到当周的第一天

DATE_SUB(login_date, interval weekday(login_date) day)

这个思路一旦建立,这个题就很简单了。

select
  week_begin,
  round(count(*) / count(DISTINCT uid), 2) as avg_times
from
(
    select
      uid,
      DATE_SUB(login_date, interval weekday(login_date) day) as week_begin
    from
      user_login_tb
  ) t
group by
  week_begin
order by
  week_begin
全部评论

相关推荐

头像
05-01 09:54
财务
点赞 评论 收藏
转发
8 收藏 评论
分享
牛客网
牛客企业服务