数据矿工的博客

您现在的位置是:首页 > 数据分析技术 > 正文

数据分析技术

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

张文迪2018-08-02数据分析技术5718
看到网上有人发帖子求助两次购买的时间间隔最大值的SQL语句,在实际做RFM分析的时候,通常会遇到这样的问题。基本的表结构主要只有两列:用户名和date,其实总体来讲还是比较简单的。正好自己也遇上这个问

看到网上有人发帖子求助两次购买的时间间隔最大值的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,由于我的表较大,设定了下单时间的限制,这项限制在实际使用过程中可以进行去除。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
展开