SQL查询访问非主字段子集上的计数记录

SQL查询访问非主字段子集上的计数记录,sql,ms-access-2010,Sql,Ms Access 2010,假设表T包含以下字段: T(F1,F2,F3,F4,F5) 其中F1和F2的组合构成此表的主键 什么是Access SQL查询以选择以下内容: T(F1、F2、F3、F4、F5、F4\u F5\u计数) 其中,F4_F5_Count是字段F4和F5组合的重复计数(即,不是所有被选择的字段,而是最后两个字段)。?您可以使用子查询: select t.*, (select count(*) from t as t2 where t2.f4 = f.f4 and t2.f5 = f.f5

假设表T包含以下字段:

T(F1F2,F3,F4,F5)

其中F1和F2的组合构成此表的主键

什么是Access SQL查询以选择以下内容: T(F1、F2、F3、F4、F5、F4\u F5\u计数)


其中,F4_F5_Count是字段F4和F5组合的重复计数(即,不是所有被选择的字段,而是最后两个字段)。?

您可以使用子查询:

select t.*,
       (select count(*) from t as t2 where t2.f4 = f.f4 and t2.f5 = f.f5
      ) as fr_f5_cnt
from t;
或者,将
join
与聚合一起使用:

select t.*, tt.f4_f5_count
from t join
     (select f4, f5, count(*) as f4_f5_count
      from t
      group by f4, f5
     ) tt
    on t2.f4 = f.f4 and t2.f5 = f.f5;
编辑:

您将使用第二种方法并添加:

where f4_f5_count = 1

请提供示例数据如果我想在此基础上应用HAVING子句以筛选出f4_f5_count=1的记录,我将如何编写?