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

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

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

SELECT user_id,count(ndt) days_count from (SELECT *,sales_date - DENSE_RANK() OVER(PARTITION BY user_id ORDER BY sales_date) ndt from (SELECT DISTINCT sales_date,user_id FROM sales_tb) t )s GROUP BY user_id,s.ndt HAVING count(ndt) >=2 ORDER BY user_id 我认为需要对user_id,sales_date进行去重处理(存在一个用户一天购买了两次物品这种情况)。然后利用 1 sales_date-row_number() over (partition by user_id order by sales_date asc) 求取差值,若是是连续登录的则差值是一样的。 最后对用户号,差值进行聚合,既可以求出哪些用户的连续登陆天数大于等于2了。

全部评论

相关推荐

今天 12:20
门头沟学院 运营
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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