SQL语句:两次购买时间间隔
看到网上有人发帖子求助两次购买的时间间隔最大值的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,由于我的表较大,设定了下单时间的限制,这项限制在实际使用过程中可以进行去除。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~