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

Zaktualizuj zduplikowane wiersze za pomocą zduplikowanego znalezionego identyfikatora

To zapytanie zwróci wszystkie zduplikowane identyfikatory z oddzieloną przecinkami listą identyfikatorów o tej samej nazwie:

select
  t1.id,
  group_concat(t2.id)
from
  tablename t1 inner join tablename t2
  on t1.id<>t2.id and t1.name=t2.name
group by
  t1.id

a to zapytanie zaktualizuje opis:

update tablename inner join (
  select
    t1.id,
    group_concat(t2.id) dup
  from
    tablename t1 inner join tablename t2
    on t1.id<>t2.id and t1.name=t2.name
  group by
    t1.id
  ) s on tablename.id = s.id
set
  description = concat('duplicate id in (', s.dup, ')')

zobacz działające skrzypce .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. przetwarzanie dużej liczby wpisów do bazy danych ze stronicowaniem spowalnia z czasem

  2. MySQL — czy NIE są wymagane ograniczenia NULL dla kluczy podstawowych?

  3. Aktualizacja MySQL z jednej tabeli do drugiej z warunkiem nie działa?

  4. MySQL:Nieznana kolumna w 'liście pól'

  5. InnoDB:Wstawianie zbiorcze za pomocą transakcji CZY łączyć wiele zapytań?