我想从表中获取重复记录(n条记录中的n-1条记录)。这样的查询应该怎么样?
示例(表名= markslist
):
Name Marks
Janny 9
raj 10
raj 10
raj 10
rose 8
如果表结构是这样的,我想在3(n)次中提取raj
两次(n-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;