题解 | #连续签到领金币#

连续签到领金币

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

select uid,month,sum(gold) as coin
from 
(select uid,date_format(dt,'%Y%m') as month,
case mod(rank() over(partition by uid ,start order by dt ),7) when 3 then 3  when 0 then 7 else 1 end  as gold
from 
(select uid,date_sub(dt,interval rk-1 day) start ,dt
from 
(select distinct uid,date(in_time) as dt,dense_rank() over(partition by uid order by date(in_time)) as rk
from tb_user_log
where date(in_time) between '2021-07-07' and '2021-10-31'  and sign_in =1
and artical_id = 0)  base) tmp) t
group by uid,month
order by month,uid

2021年7月7日0点开始

全部评论

相关推荐

05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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