全部版块 我的主页
论坛 数据科学与人工智能 大数据分析 Hadoop论坛
2237 3
2016-08-12
我要用SQL算出客户的购买间隔,要用SQL如何实现呢?,参考过前面有人写过的,但是逻辑不对。还请各位帮忙看看。谢谢。
我参考写的:
select
a.card_num,DATEDIFF(a.day,b.day) as interval
from
(select
card_num,day,
row_number() over(partition by (card_num) order by day asc) as num
from
test) a
left outer join
(select
card_num,day,
row_number() over(partition by (card_num) order by day asc) as num
from
test) b
on a.card_num=b.card_num
where a.card_num=1 and b.card_num=2

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-8-18 09:43:49
on a.card_num=b.card_num
where a.card_num=1 and b.card_num=2

改为
on a.ccard_num=b.card_num-1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-8-19 09:17:13
直接用开窗函数lead,应该就行了吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-8-23 14:03:51
ReneeD 发表于 2016-8-18 09:43
on a.card_num=b.card_num
where a.card_num=1 and b.card_num=2
好的,多谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群