PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách tìm các bản ghi trùng lặp trong PostgreSQL

Ý tưởng cơ bản sẽ sử dụng truy vấn lồng nhau với tổng hợp số lượng:

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

Bạn có thể điều chỉnh mệnh đề where trong truy vấn bên trong để thu hẹp tìm kiếm.

Có một giải pháp tốt khác cho điều đó được đề cập trong các nhận xét, (nhưng không phải ai cũng đọc chúng):

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

Hoặc ngắn hơn:

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. Gỡ rối nâng cấp PostgreSQL

  2. PostgreSQL - Thêm khóa vào từng đối tượng của mảng JSONB

  3. Gấu trúc ghi khung dữ liệu vào lược đồ postgresql khác

  4. Làm thế nào để sử dụng lại kết quả cho các mệnh đề SELECT, WHERE và ORDER BY?

  5. Nhà cung cấp dịch vụ đám mây Deep-Dive:PostgreSQL trên Microsoft Azure