一洛玉壶冰 level
获赞
347
粉丝
7
关注
1
看过 TA
13
中国计量大学
2015
大数据开发工程师
IP属地:四川
风物长宜放眼量
私信
关注
2021-04-23 11:11
已编辑
中国计量大学 大数据开发工程师
题目仅要求返回第1、2次购买时间,故只需返回前两条记录,时间最小为第1次,时间最大为第2次,购买次数可用开窗函数计算,代码如下: select a.user_id, min(a.date) as first_buy_date, max(a.date) as second_buy_date, a.cnt from (select user_id, date, row_number() over(partition by user_id order by date) as rank_no, count(*) over(partition by user_id) as cnt from order_...
大永特烦恼:第四种写法也是错误的,首先语法就是错误的,select所筛选的列,除了是常数(列如'黎明' as name)这种外,都必须放在group by后面,可以修改成如下 select a.user_id, a.first_buy_date, a.second_buy_date, a.cnt from (select user_id, min(date) over(partition by user_id) as first_buy_date, lead(date,1,0) over(partition by user_id order by date) as second_buy_date, row_number() over(partition by user_id order by date) as rn, count(*) over(partition by user_id) as cnt from order_info where date>='2025-10-16' and status='completed' and product_name in('C++','Java','Python') ) a where a.cnt>=2 and rn=1 order by user_id;
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务