sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Uppdatering med räknare baserad på delfråga

Försök så här:

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. Hur LOG2() fungerar i MariaDB

  2. Skapa PHP-array från MySQL-kolumnen

  3. MySQL:Två n:1-relationer, men inte båda samtidigt

  4. ORDER BY kolumner som ibland är tomma med Active Record &Rails