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

MySQL - Perbarui dengan penghitung berdasarkan subquery

Coba cara ini:

UPDATE Table1 t1
JOIN (
   SELECT `PrimaryId`,
          `SecondaryId`,
          (SELECT count(*)
           FROM Table1 t1
           WHERE t1.`SecondaryId` = t.`SecondaryId`
            AND t1.`PrimaryId` <= t.`PrimaryId`
           ) `Order`
   FROM Table1 t
) t2
ON t1.`PrimaryId` = t2.`PrimaryId`
SET t1.`Order` = t2.`Order`
;

Demo --> http://www.sqlfiddle.com/#!2/6f2102 /1




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tugas penggaruk khusus untuk DB:Tabel tidak ditemukan

  2. Menyortir ulang kolom id dalam tabel MySQL?

  3. MySQL:Transaksi vs Mengunci Tabel

  4. Periksa nilai pernyataan foreach

  5. Mengurutkan subpohon dalam struktur data hierarki tabel penutupan