Jörn: MySQL Abfrage mit lenght()

Liebes Forum,
ich versuche mit php und mysql folgende abfrage zu schreiben:
aus einer tabelle sollen alle kategorien einmal ausgelesen werden und dann ihrer länge nach geordnet werden.
ich habe dazu folgende sql abfrage versucht, die aber leider nicht geht(Warning: 0 is not a MySQL result index):

select distinct kategorie, length(kategorie) from $table order by length(kategorie)

tja, wie gesagt, klappt bisher nicht.
weiss jemand was ich falsch mache.

danke,
jörn

  1. Hallo Jörn,

    select distinct kategorie, length(kategorie) from $table order by length(kategorie)

    select distinct kategorie, length(kategorie) as IRGENDEINNAME from $table order by IRGENDEINNAME;

    So hat es bei mir funktioniert. MySQL stoert sich daran, dass der Funktionsaufruf am Ende noch einmal erscheint.
    Bei count(*) scheint das allerdings zu funktionieren.

    Gruss

    Beate Mielke

  2. Hallo Jörn,

    select distinct kategorie, length(kategorie) from $table order by length(kategorie)

    benenne einfach einen Alias für die Länge, also

    select distinct kategorie, length(kategorie) as laenge from $table
      order by laenge;

    Gruß
      Micha

  3. Danke Beate, danke Micha,
    jetzt geht es,
    Gruß,
    Jörn