我需要通过比较记录
的每个字段来检查DB中是否存在重复值FIELD1 F2 F3 F4
1 - - -
1 - - -
在这种情况下,它显示重复记录。如何使用SQL查询?
答案 0 :(得分:0)
答案 1 :(得分:0)
SQL Server
如果您需要检查表中是否存在重复值,可以使用此查询。
-- Setup test data
declare @T table (field1 int, f2 int, f3 int, f4 int)
insert into @T values (1, null, null, null)
insert into @T values (1, null, null, null)
insert into @T values (2, null, null, null)
insert into @T values (2, 2, 2, 2)
insert into @T values (2, 2, 2, 2)
-- Fetch rows that are duplicates
select field1, f2, f3, f4
from @T
group by field1, f2, f3, f4
having count(*) > 1
结果
field1 f2 f3 f4
1 NULL NULL NULL
2 2 2 2
如果您需要查询表而不是重复项,请使用此查询
select distinct field1, f2, f3, f4
from @T
答案 2 :(得分:0)
根据SQL标准,NULL
s GROUP
在一起,因此在上下文中应该与任何其他值没有区别,即
SELECT FIELD1, F2, F3, F4,
COUNT(*) AS duplicate_tally
FROM YourTable
GROUP
BY FIELD1, F2, F3, F4
HAVING COUNT(*) > 1;