sql语句: 统计表中同一usr_id记录中无setl_tm对应的actv_dt 大于 setl_tm的usr_id的个数

图片描述

如图:usr_id都是1时,比较3处(setl_tm)为空值对应的actv_dt的时间2 比 4时间大的记录数。

阅读 1.9k
1 个回答

下面的sql应该可以,join还是left join需要你根据业务逻辑规则定

select a.usr_id,sum(case when a.adt>b.stm then 1 else 0) cnt from 
(select usr_id, UNIX_TIMESTAMP(actv_dt) adt from tbl where setl_tm is null) a
join 
(select usr_id, UNIX_TIMESTAMP(setl_tm) stm from tbl where setl_tm is not null) b 
on a.usr_id=b.usr_id
group by a.usr_id;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏