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

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

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

此题共包含一张表:

表1:sales_tb

要解决的问题:

请你统计连续2天及以上在该店铺购物的用户及其对应的次数 (若有多个用户,按user_id升序排序)

解题思路:

  1. 统计用户在店铺中购物情况
  2. 找到连续2天购物的用户
  3. 按用户分组,user_id升序排序

SELECT user_id, count(DISTINCT sales_date) days_count
from sales_tb
where user_id in (SELECT user_id from(
		SELECT sales_date, user_id, item_id, DENSE_RANK() over(PARTITION by user_id ORDER BY sales_date) rank1
		from sales_tb) t1
		where rank1>=2)
GROUP BY user_id
ORDER BY user_id
全部评论
你这个不对啊,只限制了有2天以及以上的购物天数,但没有保证两天是连续的
1 回复 分享
发布于 2022-04-05 21:03
建议改写一下: SELECT user_id, COUNT(DISTINCT sales_date) AS 'days_count' FROM sales_tb AS t1 WHERE EXISTS ( SELECT user_id FROM ( SELECT sales_date, user_id, DENSE_RANK() over( PARTITION by user_id ORDER BY sales_date) AS 'rank1' FROM sales_tb ) AS t2 where rank1 >= 2 AND t1.user_id = t2.user_id) GROUP BY user_id ORDER BY user_id
点赞 回复 分享
发布于 2022-03-18 07:48

相关推荐

02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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