如何获得所列问题的SQL结果


  • id 1111将被视为多付款人,因为申请日期为2020年3月18日
  • id 2222将被视为多付款人
  • ID 3333将被视为单一付款人

样本数据

id      Apt         cp              dob
--------------------------------------------
1111    3/19/2020   BC/BS MEDICARE  00:00.0
1111    3/19/2020   MEDICARE        00:00.0
2222    3/18/2020   MEDICARE        00:00.0
2222    3/18/2020   BC/BS MEDICARE  00:00.0
2222    3/17/2020   BC/BS MEDICARE  00:00.0
2222    3/17/2020   BC/BS MEDICARE  00:00.0
3333    3/19/2020   BC/BS
3333    3/19/2020   BC/BS

查询:

SELECT DISTINCT
t1.ID,
t1.dob,
t1.CP,
t1.apt,
COUNT(*) AS Cpcount
INTO 
t2l
FROM 
t1
GROUP BY
ID, dob, CP

我想知道一个ID、DOB和apt是否在同一天有1个CP,或者在同一日有1个以上的CP(不同CP(

如果我理解正确,您需要在给定日期计算distinctCP。对吗?此解决方案适用于Oracle,应适用于其他数据库。

select 
id, dob, apt, count(distinct(cp))
from table 
group by id, dob, apt
having count(distinct(cp))>1;

最新更新