Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mysql - MEMPERBARUI baris berdasarkan baris lain

Tentu, Anda dapat melakukannya dalam satu kueri. Menggunakan tabel contoh ini:

create table duotri (time varchar(100), type int, genre int, doubles int, triples int);
insert duotri values
('2010.06.21 12:00'    ,1        ,1        ,0            ,0),
('2010.06.21 12:00'    ,1        ,2        ,0            ,0),
('2010.06.21 12:00'    ,1        ,1        ,0            ,0),
('2010.06.21 12:00'    ,2        ,3        ,0            ,0),
('2010.06.22 12:00'    ,2        ,2        ,0            ,0),
('2010.06.22 12:00'    ,2        ,3        ,0            ,0),
('2010.06.22 12:00'    ,1        ,1        ,0            ,0);

Pernyataan pembaruan harus bergabung ke formulir GROUPed untuk mendapatkan ganda dan tiga kali lipat.

update duotri t1
inner join (
    select time, type,
     case when count(distinct genre) = 2 then 1 else 0 end doubles,
     case when count(distinct genre) = 3 then 1 else 0 end triples
    from duotri
    group by time, type) t2
   on t1.time=t2.time and t1.type=t2.type
set t1.doubles=t2.doubles, t1.triples = t2.triples;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktifkan akses jarak jauh ke database MySQL

  2. Bagaimana saya bisa mengembalikan output tabel pivot di MySQL?

  3. Bagaimana Membandingkan Dua Kolom di MySQL

  4. Bagaimana cara menampilkan Array Multidimensi dimasukkan ke dalam tabel MySQL?

  5. INNER JOIN meja yang sama