Извлечение дубликата записи

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

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

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

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

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

1 ответ

Во-первых, при разработке таблиц лучше всего иметь первичный ключ, который уникально идентифицирует каждую строку. Если бы у вас был один, это было бы проще.

Самый простой ответ - использовать 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;
Другие вопросы по тегам