Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zaktualizować wiele duplikatów z różnymi wartościami w tej samej tabeli?

Nie jestem pewien, czy jest to bardzo wydajne, ale działa tylko w jednym zapytaniu :

UPDATE t
JOIN (
  SELECT MAX(t.id) AS maxid, lat, lon
  FROM t
  JOIN t AS duplicates
  USING (lat, lon)
  GROUP BY lat, lon
  HAVING COUNT(*) > 1
) AS maxima USING (lat, lon)
SET flag = IF(id = maxid, 1, 2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń z jednego stołu z dołącz

  2. Problem z połączeniem MySQL Hibernate podczas korzystania z c3p0

  3. PDO nie może połączyć się ze zdalnym serwerem mysql

  4. Zbuduj system biuletynów z PHP i MySQL

  5. Czy mogę wprowadzić hasło raz dla wielu wywołań wiersza poleceń mysql, gdy zapytania nie są znane z góry?