包含3列的表:订单id、成员id、订单日期
需要拉订单分配按天数细分b/w按会员id连续2个订单
我得到的是:
SELECT
a1.member_id,
count(distinct a1.order_id) as num_orders,
a1.order_date,
DATEDIFF(DAY, a1.order_date, a2.order_date) as days_since_last_order
from orders as a1
inner join orders as a2
on a2.member_id = a1.member_id+1;
这并不能完全帮助我,因为我需要的输出是:
2条答案
按热度按时间nbysray51#
你可以用
lag()
要获取同一客户上一次订单的日期:当同一日期有两行时,最小的
order_id
首先考虑。还请注意,我修复了您的datediff()
语法:在hive中,函数只需要两个日期,没有单位。我只是不明白你要计算的逻辑
num_orders
.m4pnthwp2#
可能是这样的: