猿问

选择语句以查找某些字段的重复项

选择语句以查找某些字段的重复项

你能帮我用SQL语句来查找多个字段的重复项吗?

例如,在伪代码中:

select count(field1,field2,field3) from table where the combination of field1, field2, field3 occurs multiple times

并且从上面的陈述中,如果有多次出现,我想选择除第一个以外的每个记录


慕容森
浏览 586回答 3
3回答

一只甜甜圈

这是我喜欢的SQL Server 2005的有趣解决方案。我将假设“对于除第一个之外的每个记录”,你的意思是我们可以使用另一个“id”列来标识哪个行是“第一个”。SELECT id    , field1    , field2    , field3FROM(    SELECT id        , field1        , field2        , field3        , RANK() OVER (PARTITION BY field1, field2, field3 ORDER BY id ASC) AS [rank]    FROM table_name) aWHERE [rank] > 1
随时随地看视频慕课网APP
我要回答