【发布时间】:2021-05-07 13:47:08
【问题描述】:
我一直在尝试根据StateId 查找州中重复的县名。我曾尝试编写一个有助于查找重复数据的 SQL 查询,但我做不到。
SELECT
LOWER(Name) COLLATE SQL_Latin1_General_CP1_CI_AI,
StateId
FROM
County (nolock)
GROUP BY
Name, StateId
HAVING
(COUNT(*) > 1)
如果有人可以提供帮助,我会非常高兴。
【问题讨论】:
-
GROUP BY LOWER(Name) collate SQL_Latin1_General_CP1_CI_AI, StateId. -
土耳其语中的名称可能不同吗?如果是这样,请按与选择部分中相同的字段进行分组。
-
旁注:你真的需要
NOLOCK吗?你*确实明白它的作用,对吧?对于你正在做的事情,我建议如果正在对表中的数据进行处理,它实际上可能会给你不正确的结果。 -
请注意示例中的不同名称。例如,我看到单词“BAGCILAR”和“ATASEHIR”至少有两种不同的写法
-
听起来您可能还想在表上添加约束以停止重复值。
标签: sql sql-server select duplicates