sql >> Database teknologi >  >> RDS >> PostgreSQL

Fjern duplikerede byer fra databasen

Dette sletter den anden by i nærheden af ​​en by af samme navn i det samme land:

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. SQL Injection-angreb - Hvad gør dette?

  2. Sådan gemmer du MySQL-resultater til en fil i tabelformat

  3. MYSQL bruger 'LIKE' i 'WHERE'-klausulen til at søge i underforespørgsel

  4. SQL med rang og partition