НАЙТИ ПОВТОРЯЮЩИЕСЯ СТРОКИ В POSTGRESQL

  • Михаил
  • 12 мин. на прочтение
  • 137
  • 11 Nov 2022
  • 11 Nov 2022

В этом уроке мы увидим, как найти повторяющиеся строки в postgresql. Получение повторяющихся строк в таблице postgresql можно выполнить с помощью нескольких методов, каждый из которых объясняется на примере.

Таблица, которую мы используем для изображения,

ExamScore

найти дубликаты в Postgresql 1

Способ 1: найти повторяющиеся строки в Postgresql:

select distinct * from ExamScore where studentid in ( select studentid from (
select studentid, count(*)
from ExamScore
group by studentid
HAVING count(*) > 1) as foo);

Мы выбрали повторяющуюся строку, подсчитав количество строк для каждого идентификатора студента, и выбрали строки, имеющие количество> 1.

Результирующая таблица:

найти дубликаты в Postgresql 2

 

Способ 2: найти повторяющиеся строки в Postgresql с разделением по

Мы выбрали дубликат строки за разделом и порядок, как показано ниже.

select distinct * from ExamScore where studentid in  (
select studentid from (
  select studentid,
  ROW_NUMBER() OVER(PARTITION BY studentid ORDER BY studentid asc) AS Row
  FROM ExamScore
) as foo
where
foo.Row > 1);

Результирующая таблица:

найти дубликаты в Postgresql 2