张文迪的博客

数据分析及数据化运营-BI仪表盘及数据运营项目咨询与实施

SQL语句:两次购买时间间隔

看到网上有人发帖子求助两次购买的时间间隔最大值的SQL语句,在实际做RFM分析的时候,通常会遇到这样的问题。


基本的表结构主要只有两列:用户名和date,其实总体来讲还是比较简单的。


正好自己也遇上这个问题,通过网上搜索和自己理解,编写了如下SQL语句:


SELECT
用户,
datediff(
date,
(
SELECT
max(date)
FROM
(
SELECT
用户名 AS 用户,
下单时间 AS date
FROM
订单表 WHERE 订单表.下单时间>'2018-07-01 00:00:00'
) AS Tab1
WHERE
用户 = a.用户
AND date < a.date
)
)
FROM
(
SELECT
用户名 AS 用户,
下单时间 AS date
FROM
订单表 WHERE 订单表.下单时间>'2018-07-01 00:00:00'
) AS a


语句的核心便是建立两个临时表,两个临时表做datediff,由于我的表较大,设定了下单时间的限制,这项限制在实际使用过程中可以进行去除。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2019年7月   »
1234567
891011121314
15161718192021
22232425262728
293031
搜索
网站分类
文章归档
最新留言
控制面板
您好,欢迎到访网站!
  查看权限
友情链接

Powered By Z-BlogPHP 1.5.2 Zero

Copyright 张文迪. 备案号:辽ICP备15006660号-2

展开