获取重复记录

时间:2015-11-11 11:47:23

标签: sql duplicates fetching-strategy

我想从表中获取重复记录(n条记录中的n-1条记录)。这样的查询应该怎么样?

示例(表名= markslist):

Name         Marks
Janny          9
raj           10
raj           10
raj           10
rose           8

如果表结构是这样的,我想在3(n)次中提取raj两次(n-1)。

我尝试使用排名,但无法得到我想要的结果。

1 个答案:

答案 0 :(得分:0)

首先,在设计表时,最好有一个唯一标识每一行的主键。如果你有一个,这将更简单。

最简单的答案是使用row_number(),这是大多数数据库中可用的ANSI标准函数:

select t.*
from (select t.*, row_number() over (partition by name order by name) as seqnum
      from markslist t
     ) t
where seqnum > 1;