最小达到某累积金额的日期

题目:现有表test,有三个字段分别为:user_id 用户id dt 日期 price 订单金额,计算一个消费者历史上首次在近30天周期内累积消费金额达到1w的日期。

分析:1.要求在30天周期内,累积消费金额达1w的日期,可以用sum(price) over(partition by user_id order by dt rows between 30preceding and current row)sum_price

2.然后查询最小达到1w金额的日期,用min(dt) ... where sum_price>=10000 ,记得根据用户分组

完整sql:

select t1.user_id,t1.dt,min(dt)

from(

select user_id,dt,sum(price)over(partition by user_id order by dt rows between 30 preceding and current row)sum_price

from test

)t1

where t1.sum_price >= 10000

group by t1.user_id

全部评论

相关推荐

2024-12-29 19:48
河北科技大学 Java
没事就爱看简历:问题不在于简历:1、大学主修课程学那么多应用语言,作为计算机专业是很难理解的。 2、技能部分,每一个技能点的后半句话,说明对熟练,熟悉的标准有明显误会。 3、项目应该是校企合作的练习吧,这个项目你负责什么,取得了哪些成果都没有提及,只是列举了你认为有技术含量的点,而这些都有成熟的实现。
点赞 评论 收藏
分享
lingo12:1.最好加个业务项目,大部分面试官工作以后会更偏重业务 2.实习部分描述一般般,可能hr看到会觉得你产出不够不给你过简历 3.蓝桥杯这些大部分人都有的,不如不写,反而减分项。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务