PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да намерите дублиращи се записи в PostgreSQL

Основната идея ще бъде използването на вложена заявка с агрегиране на броя:

select * from yourTable ou
where (select count(*) from yourTable inr
where inr.sid = ou.sid) > 1

Можете да коригирате клаузата where във вътрешната заявка, за да стесните търсенето.

Има друго добро решение за това, споменато в коментарите, (но не всеки ги чете):

select Column1, Column2, count(*)
from yourTable
group by Column1, Column2
HAVING count(*) > 1

Или по-кратко:

SELECT (yourTable.*)::text, count(*)
FROM yourTable
GROUP BY yourTable.*
HAVING count(*) > 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL управление и автоматизация с ClusterControl

  2. Създаване на PostgreSQL последователност към поле (което не е ID на записа)

  3. Как мога да съпоставя последните две думи в изречение в PostgreSQL?

  4. Колоната Postgres не съществува

  5. PostgreSQL date() с часова зона