You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中统计指定列重复值出现次数的技术求助

解决SQL Server中统计ExtCode列重复值出现次数的问题

你的当前脚本是在查询系统元数据表INFORMATION_SCHEMA.COLUMNS,目的是找包含ExtCode列的表信息,这和你要统计列中数据重复次数的需求完全不相关,所以无法得到想要的结果。

针对单个已知表的解决方案

如果已经知道ExtCode所在的表(比如表名为TargetTable),可以用下面的语句统计每个重复值的出现次数(只显示出现次数>1的值):

SELECT 
    ExtCode, 
    COUNT(*) AS 出现次数
FROM TargetTable
GROUP BY ExtCode
HAVING COUNT(*) > 1;

如果需要统计所有重复记录的总条数(比如某个值出现3次,就算入3条),可以用:

SELECT COUNT(*) AS 重复记录总条数
FROM TargetTable
WHERE ExtCode IN (
    SELECT ExtCode
    FROM TargetTable
    GROUP BY ExtCode
    HAVING COUNT(*) > 1
);

针对多个表(不确定具体表)的解决方案

如果ExtCode列存在多个表中(比如你之前脚本里的Dim_xxx_View这类表),可以用动态SQL批量统计:

DECLARE @SQL NVARCHAR(MAX) = '';

-- 拼接所有包含ExtCode列的目标表的统计语句
SELECT @SQL += '
SELECT ''' + table_name + ''' AS 所属表, ExtCode, COUNT(*) AS 出现次数
FROM ' + QUOTENAME(table_name) + '
GROUP BY ExtCode
HAVING COUNT(*) > 1
UNION ALL'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name = 'ExtCode'
AND table_name LIKE 'Dim_%_View'; -- 匹配你之前脚本里的表命名规则

-- 移除最后多余的UNION ALL
SET @SQL = LEFT(@SQL, LEN(@SQL) - 10);

-- 执行动态SQL
EXEC sp_executesql @SQL;

内容的提问来源于stack exchange,提问作者ZeroOne Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:00:55