题解 | #某宝店铺连续2天及以上购物的用户及其对应的天数#

某宝店铺连续2天及以上购物的用户及其对应的天数

http://www.nowcoder.com/practice/63ac3be0e4b44cce8dd2619d2236c3bf

想要一张这样的表:

alt

按照不同消费者的消费日期排序,同一天则序号相同,第二天开始记为2,以此类推;连续标识用来判别消费的第“2,3,4,5……”天是不是连续的,因此当ranking大于1且连续标识等于1时,说明这一条记录是符合条件的uid和rank,最后从中取出连续标识为1的最大的ranking即可

select user_id,
	   max(ranking) as 连续天数
       from
(select user_id,sales_date,dense_rank() over(partition by user_id order by sales_date) as ranking,
	   case when datediff(t1.sales_date,(select max(sales_date) from sales_tb where sales_tb.sales_date < t1.sales_date and sales_tb.user_id = t1.user_id)) = 1 then 1 else 0 end as 连续标识
	   from sales_tb t1) a
       where ranking >= 2 and 连续标识 = 1
       group by user_id
       order by user_id;
       

全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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