A表
客户id,卡id,卡创建时间等
B表
客户id、卡id、交易时间等
一个客户可以有多张卡,时间都是精确到日的;非活跃卡的规则定义为一个月内无交易;
求客户每月的非活跃卡数量
SELECT
b.[客户ID],
COUNT(b.[卡ID])
FROM A AS a
LEFT JOIN B AS b ON a.[客户ID]=b.[客户ID]
WHERE
b.[交易时间]<=date_sub(trunc(CURRENT_DATE,'MM'),1)
GROUP BY
b.[客户ID]
hive sql日期函数可以参考Hive SQL 常用日期 - 做个有梦想的咸鱼 - 博客园 (cnblogs.com)