2015-11-11 2 views
0

Я хочу получить дубликаты записей из таблицы (n-1 записей из n записей). Как должен выглядеть такой запрос?Извлечение дублирующей записи

пример (таблица имя = markslist):

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

Если структура таблицы, как это, я хочу, чтобы принести raj за два раза (п-1) из 3-х (п) раз.

Я пробовал использовать ранг, но не смог получить результат, который хотел.

+0

Какие СУБД вы используете? – jarlh

ответ

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; 

 Смежные вопросы

  • Нет связанных вопросов^_^