题解 | #牛客的课程订单分析(五)#

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

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

思路: 求second_buy_date的核心重点是:min(date > min(date))

我们使用订单分析四中的结果,求出最小的date,然后联立 order_info 表,通过 t1.date > t2.first_buy_datemin(t1.date) 求出第二小date

完整代码:

select t1.user_id, t2.first_buy_date, min(t1.date) as second_buy_date, t2.cnt
from order_info t1, (select user_id, min(date) as first_buy_date, count(user_id) as cnt
											from order_info
											where status = 'completed'
											and date > '2025-10-15'
											and product_name in ('C++', 'Java', 'Python')
											group by user_id
											having count(user_id) > 1) as t2
where t1.user_id = t2.user_id
and t1.date > t2.first_buy_date
and t1.status = 'completed'
and t1.date > '2025-10-15'
and t1.product_name in ('C++', 'Java', 'Python')
group by user_id
order by user_id
SQL练习 文章被收录于专栏

已完成牛客的SQL练习。接下来是算法的练习

全部评论
min(date > min(date)) 这个思路很妙
点赞 回复 分享
发布于 2022-11-17 22:59 浙江

相关推荐

07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
评论
11
收藏
分享

创作者周榜

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