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

Loại bỏ các thành phố trùng lặp khỏi cơ sở dữ liệu

Thao tác này sẽ xóa thành phố thứ hai trong phạm vi gần với thành phố cùng tên ở cùng một quốc gia:

delete from climate.maxmind_city mc where id in (
select
  max(c1.id)
from
  climate.maxmind_city c1,
  climate.maxmind_city c2
where
  c1.id <> c2.id and
  c1.country = c2.country and
  c1.name = c2.name and
  earth_distance(
    ll_to_earth( c1.latitude_decimal, c1.longitude_decimal ),
    ll_to_earth( c2.latitude_decimal, c2.longitude_decimal ) ) <= 35
group by
  c1.country, c1.name
order by
  c1.country, c1.name
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi ngủ đông:giao dịch hiện tại bị hủy bỏ, các lệnh bị bỏ qua cho đến khi kết thúc khối giao dịch

  2. postgres:nâng cấp người dùng thành superuser?

  3. cách khôi phục postgresql DB mà không cần sao lưu

  4. Thiết kế cơ sở dữ liệu với dữ liệu cảm biến định kỳ

  5. chỉ đặt biến trong psql-script nếu không được chỉ định trên dòng lệnh