题解 | #连续签到领金币#自定义函数

连续签到领金币

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

with tmp as(
select uid,date(in_time) dt
from tb_user_log
where artical_id = 0 and sign_in = 1
and date(in_time) between '2021-07-07' and '2021-10-31'
order by dt)

select uid,date_format(dt,'%Y%m') as month,
  sum(case when nums in (3,10,17,24,31) then 3
           when nums in (7,14,21,28) then 7
           else 1
           end)
from(
select 
  uid,
  dt,
  if(@pre=date_sub(dt,interval 1 day),@count := @count+1,@count := 1) as nums,
  @pre:=dt
from tmp as l,
    (select  @pre:= null,@count:=1) as pc)t
group by uid,month
order by uid

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:22
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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