card_no tran_id tran_dt tran_type
1234567 1001 2016-07-07 18:02:30 查询
1234567 1002 2016-07-08 09:22:15 支付
1234567 1003 2016-07-10 11:23:40 登录
1234567 1004 2016-07-11 15:12:30 支付
2222222 2221 2016-07-12 18:02:30 登录
2222222 2222 2016-07-14 09:22:15 支付
2222222 2223 2016-07-16 11:33:40 支付
想要得到的结果是: 计算每一个卡号下、每一笔交易对应的满足条件的指标。
比如 cnt_zhifu_2day 当前交易前2天支付的次数
cnt_login_2day 当前交易前2天登录的次数
最终是这样的结果
card_no tran_id tran_dt tran_type cnt_zhifu_2day cnt_login_2day
1234567 1001 2016-07-07 18:02:30 查询 0 0
1234567 1002 2016-07-08 09:22:15 支付 0 0
1234567 1003 2016-07-10 11:23:40 登录 1 0
1234567 1004 2016-07-11 15:12:30 支付 0 1
2222222 2221 2016-07-12 18:02:30 登录 0 0
2222222 2222 2016-07-14 09:22:15 支付 0 1
2222222 2223 2016-07-15 11:33:40 支付 1 0
上面举例中只有2张银行卡,现实中有上千万张卡,交易笔数上亿,类似的指标有上百个。
请大家帮忙看看怎么用 hive sql 计算,谢谢!
由于hive sql中在select 语句中不支持子查询嵌套select语句。