首页 > 解决方案 > 计算共享相同 FK id 的重复值

问题描述

我正在尝试计算一列中有多少重复项共享相同的 FK id。每个 Shared_FK_id 应该只有一种类型。

table:
Shared_FK_ID : bigint
type: varchar(50)

样本数据:

831 Ford
831 Fiat
831 Honda
831 Honda
831 Dodge
831 Volvo
831 Volvo
831 Opel

标签: sqlsql-servertsqlsql-server-2016

解决方案


应该适用于大多数 sql DBMS

  select Shared_FK_ID, count(*) nmbr_of_dbls
    from (
       select Shared_FK_ID, type , count(*)
       group by Shared_FK_ID, type
       having count(*) > 1
    ) t
  group by Shared_FK_ID

推荐阅读