Einzelnen Beitrag anzeigen

Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

AW: [SQL] Order-Feld automatisch ausfüllen lassen

  Alt 4. Mai 2012, 13:27
Ah, der Vergleich auf Größe zweier Varchars ist der Trick. Folgender Code tut seinen Zweck:

Code:
UPDATE `tabelle` SET `order` = (SELECT count(*) FROM (SELECT DISTINCT `name` FROM `tabelle` ORDER BY `name`) a WHERE `tabelle`.`name` > a.`name`);
Die "TOP 1000000" habe ich in ihrer Wirkung nicht wirklich verstanden. MySQL unterstützt die Syntax ohnehin nicht. Vermutlich ist es eine LIMIT Anweisung? Das "+ 1" am Ende macht das Query kompatibel zu meinem obigen Code, allerdings ist es für die Reihenfolge natürlich völlig unerheblich, ob man bei 0 oder 1 beginnt.

Vielen Dank!

@Iwo Asnet: ERROR 1093 (HY000): You can't specify target table 'tabelle' for update in FROM clause

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog

Geändert von Valle ( 4. Mai 2012 um 13:32 Uhr) Grund: Kein SQL Highlighter mehr?
  Mit Zitat antworten Zitat