mysqler: user-defined variables & fortlaufender Index

Beitrag lesen

Hallo,

ich habe eine Tabelle, die wie folgt aussieht:

id      parent_id       name
----------------------------
1               2         X1
2               2         X2
3               5         X3
4               5         X4
5              10         Y3

ich möchte nun einen fortlaufenden Index, sobald sich parent_id ändert. Die Reihenfolge wird dynamisch geändert, deshalb kam ich auf die Idee der user-defined Variables.

Die gewünschte Ausgabe sieht in etwa so aus:

id      fortlaufender_index     name
------------------------------------
1                         1       X1
2                         1       X2
3                         2       X3
4                         2       X4
5                         3       Y3

der SQL-query müsste in etwa wie folgt aussehen, allerdings funktioniert er noch nicht:

SELECT
    id,
    IF(@last_parent_id<>parent_id, (@fortlaufender_index=@fortlaufender_index+1, @last_parent_id=parent_id) fortlaufender_index,
    name
FROM
    ...

hat jemand einen Tipp, wie ich das schreiben muss? Oder eine Idee neben user-defined Variables?

Grüsse, mysqler