楼主: 男孩泪
2298 3

[问答] SQL统计购买间隔问题 [推广有奖]

  • 2关注
  • 0粉丝

大专生

93%

还不是VIP/贵宾

-

威望
0
论坛币
25 个
通用积分
3.7537
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1409 点
帖子
62
精华
0
在线时间
22 小时
注册时间
2015-12-17
最后登录
2016-9-20

楼主
男孩泪 发表于 2016-8-12 11:44:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我要用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

二维码

扫码加我 拉你入群

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

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

关键词:sql partition Interval Select Number 统计

已有 1 人评分论坛币 收起 理由
daazx + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

沙发
ReneeD 发表于 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

藤椅
jiangqing001 发表于 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
好的,多谢啦

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 15:33