Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Inkrementwert basierend auf dem vorherigen Datensatz

Sie haben eine gute und clevere Abfrage geschrieben, um diese Zeilennummern zu generieren, eine, die eine unordentliche Lösung mit Sitzungsvariablen vermeidet. Um das Update durchzuführen, treten Sie einfach Ihrem Tisch bomitems bei zu dieser Abfrage:

UPDATE bomitems t1
INNER JOIN
(
    SELECT
    t.ID,
    t.Parent,
    (SELECT COUNT(*) FROM bomitems AS x WHERE x.id <= t.id AND x.Parent = t.Parent) AS Counter
    FROM bomitems t
) t2
    ON t1.ID = t2.ID
SET t1.Counter = t2.Counter;

Ich habe diese Abfrage auf meiner lokalen MySQL Workbench getestet und sie scheint zu funktionieren.