我有如下表。
表A(共3000行,结束日期可能有重复,例如123和223可能有相同的结束日期)
enroll_dt,end_date, acct_nbr
12/31/2016, 01/03/2017, 123
12/31/2016, 01/04/2017, 234
01/05/2017, 02/02/2017, 334
表B(共30个唯一值)
enroll_dt
12/31/2016
01/01/2017
01/02/2017
01/03/2017
01/04/2017
01/05/2017
...
希望的表。
Date number_of_records
12/31/2016 2
01/01/2017 2
01/02/2017 2
01/03/2017 2
01/04/2017 1
02/01/2017 1
我想做的是,对于表B中的每一个值,我将对表A中的所有行进行排序,然后返回#的值。acct_nbr
如果到日期A为止,共有多少个账户被注册,有多少个账户有 end_date>DateA
. 前 01/01/2017
来自表B。number_of_records
= 2
因为我们只有2个账户注册到01012017(acct_nbr=123和234),而且end_date'01032017'和'01042017'都大于'01012017'。
谢谢你的帮助
假设你的日期被存储为实际日期。
select
b.datea,
count(distinct a.acct_nbr)
from
b
inner join a
on a.end_date >= b.datea
group by
1