【发布时间】:2016-07-21 14:09:14
【问题描述】:
我有以下查询,我正在尝试连接两个与其 ID 匹配的表,以便我可以在“c.code”中获取重复值。我尝试了很多查询,但没有任何效果。我的数据库中有 500k 行,通过这个查询我只得到 5k 回来,这是不对的。我肯定它至少是200K。我也尝试使用 Excel,但它处理不了太多。 有任何想法吗? 提前谢谢大家。
SELECT c.code, c.name as SCT_Name, t.name as SYNONYM_Name, count(c.code)
FROM database.Terms as t
join database.dbo.Concepts as c on c.ConceptId = t.ConceptId
where t.TermTypeCode = 'SYNONYM' and t.ConceptTypeCode = 'NAME_Code' and c.retired = '0'
Group by c.code, c.name, t.name
HAVING COUNT(c.code) > = 1
Order by c.code
【问题讨论】:
-
code是可以为空的列吗?您从该查询中获得了哪些计数值。请记住,group by会将原始行折叠成单行,因此如果有很多重复,5k 可能是正确的。
标签: sql sql-server group-by duplicates large-data