Tabelle nach Einträgen sortieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alphabetischer reihenfolge
anfang
aufsteigend code
code
datensatz
direkt sparte
feld
info
inhalt
nutzen
ordern
reihenfolge
sortieren
spalte
sparte
tabelle
tippen
versuch
vier
zahl
-
Mag vielleicht ganz einfach sein, komme jetzt aber nicht drauf:
In meiner Tabelle hat jeder Datensatz im Feld 'sparte' einen von vier möglichen Inhalten:
'gesamt', 'mx', 'trial', 'info'
Andere Inhalte außer einem von diesen Vieren sind nicht möglich.
Ich möchte nun meine Datensätze nach den Feldinhalten in dieser Reihenfolge sortiert haben: gesamt - mx - trial - info
Einfach 'order by sparte;' geht nicht, da die Inhalte nicht in alphabetischer Reihenfolge sind.
Bisher hatte ich dazu ein Hilfsfeld 'sort' angelegt, welches Zahlen von 1-4 beinhaltete und nach denen ich sortieren konnte.
Gibt es in sql eine Möglichkeit direkt 'sparte' mit festen Inhalten zu sortieren ?? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Aufsteigend
SELECT spalte, spalte FROM tabelle ORDER BY spalte ASC
Absteigend
SELECT spalte, spalte FROM tabelle ORDER BY spalte DESC
Beitrag zuletzt geändert: 12.2.2010 12:16:07 von sonok -
Versuchs mal hiermit:
select irgenwas,sparte from tabelle order by case sparte when 'gesamt' then 1 when 'mx' then 2 else 3 end
oder so ähnlich. -
Ich würde auf sowas tippen:
SELECT sparte, ... FROM ... ORDER BY FIELD(sparte, 'info', 'trial', 'mx', 'gesamt') DESC
Umgedreht, damit du DESC nutzen kannst und du die 0er nicht am Anfang hast. Aber wenn du sicher bist, dass nur diese vier Werte möglich sein werden, dann schreib es in deiner Reihenfolge und ersetz das DESC durch ein ASC
Beitrag zuletzt geändert: 13.2.2010 14:46:36 von nikic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage