题解 | #考试分数(五)#

牛客的课程订单分析(五)

http://www.nowcoder.com/practice/348afda488554ceb922efd2f3effc427

记录:初始想法:比较复杂,想到的是把第二小的日期做链接
SELECT o1.user_id, MIN(o1.date) AS 'first_buy_date', o2.date AS 'second_buy_date', COUNT(id) AS 'cnt'
FROM order_info o1 LEFT JOIN 
 (SELECT user_id, date, ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY date) 'tmp' FROM order_info
  WHERE date > '2025-10-15' AND status = 'completed' AND product_name IN ('C++', 'Java', 'Python')
 ) o2
ON o1.user_id = o2.user_id AND tmp = 2
WHERE o1.date > '2025-10-15' AND status = 'completed' AND product_name IN ('C++', 'Java', 'Python')
GROUP BY user_id
HAVING COUNT(id) >= 2
ORDER BY user_id
看了别人的题解。。
SELECT user_id, MIN(date), MAX(date), cnt
FROM (SELECT user_id, 
      date,
      ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY date) AS 'tmp', 
      COUNT(id) OVER(PARTITION BY user_id) AS 'cnt' 
      FROM order_info
      WHERE date > '2025-10-15' AND status = 'completed' AND product_name IN ('C++', 'Java', 'Python')
     ) o
WHERE cnt >= 2 AND tmp <= 2
GROUP BY user_id
ORDER BY user_id


全部评论

相关推荐

07-15 14:14
门头沟学院 Java
7.10投递7.15感谢信
投递地平线等公司7个岗位
点赞 评论 收藏
分享
昨天 14:55
门头沟学院 Java
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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