sas - 如何将一个表中的每一行与另一个表中的列进行比较?
问题描述
我有如下表格。
表A(共3000行,end_date可能有重复,ex,123和223可能有相同的end_date)
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 中的所有行进行排序,并返回 # of acct_nbr
if 直到 dateA 注册的帐户总数,有多少帐户
end_date>DateA
。前任。对于01/01/2017
表 B,number_of_records
=2
因为我们在 2017 年 1 月 1 日之前只注册了 2 个帐户(acct_nbr=123 和 234),并且 end_date'01/03/2017' 和 '01/04/2017' 都大于 '01/01 /2017'
非常感谢你的帮助
解决方案
假设您的日期存储为实际日期:
select
b.datea,
count(distinct a.acct_nbr)
from
b
inner join a
on a.end_date >= b.datea
group by
1
推荐阅读
- v8 - 想了解 V8 的 WorkerThread(s) 的目的和数量
- tensorflow - 在 keras 模型中使用 kohannenkappa 损失函数
- sql - 选择具有多个主键的行
- java - 为什么我找不到 ProgressiveMediaSource?
- ruby-on-rails - 为模型实现编辑/更新功能的问题
- anylogic - 在 AnyLogic 中使用 Gephi 显示图形
- python - 如何修复python中的“indentationError:意外缩进”错误
- python - TypeError: 'str' 对象不能用 input() 调用
- javascript - 如何在 JavaScript 中编写 Python print(statement, end=' ')?
- sql-server - SQL Server 中的 Oracle REST 数据服务 (ORDS) 等效项