Sql 一个或所有过期日期早于当前日期的配置文件计数

Sql 一个或所有过期日期早于当前日期的配置文件计数,sql,count,distinct,Sql,Count,Distinct,我需要有关查询及其子查询的帮助。表中的每个记录可以有一个或多个标识符,每个标识符都有自己的过期日期。我想计算有多少记录只有过期的标识符日期,不管有多少记录都已过期。我认为,我并没有消除具有多个标识符的记录,其中一个标识符已过期,而其他标识符为当前标识符 SELECT COUNT(IDENTIFIER_ROWID) FROM BO_IDENTIFIER_TABLE WHERE (SELECT DISTINCT IDENTIFIER_ROWID FROM BO_IDENTIFIER

我需要有关查询及其子查询的帮助。表中的每个记录可以有一个或多个标识符,每个标识符都有自己的过期日期。我想计算有多少记录只有过期的标识符日期,不管有多少记录都已过期。我认为,我并没有消除具有多个标识符的记录,其中一个标识符已过期,而其他标识符为当前标识符

SELECT COUNT(IDENTIFIER_ROWID)
FROM BO_IDENTIFIER_TABLE
WHERE (SELECT DISTINCT IDENTIFIER_ROWID 
        FROM BO_IDENTIFIER_TABLE WHERE IDENT_END_DT < (sysdate)

这就是我被卡住的地方。我知道我需要一个子查询来返回只有旧/过期日期的概要文件,然后在主查询中计算这些日期,但我没有正确地编写它。非常感谢您的帮助

像这样的?统计未在ID未过期的子查询中找到的不同记录

您能发布一些示例数据和预期输出吗?@user2989408,因此,如果格式发生更改,下面是一些示例数据:Rowid_Object ID_St ID_No ID_End_Dt 12345 AR C-1234 12/31/2010 12345 AR C-2345 12/31/2013 23456 NJ-1234 12/31/2008 23456 DE-1234 12/31/2013 23456 PA-1234 12/31/2016 34567 CA-1234 12/31/2012 So,查询最初看起来是这样的:从BO_标识符_表中选择COUNTRowid_对象,其中从BO_标识符_表中选择不同的Rowid_对象,其中ID_END_DT