[MySql] ORDER BY mit eigener Sortierung

Hallo Zusammen,

ist es in MySql möglich eine eigene Sortierreihenfolge vorzugeben?

Will zum Beispiel erst alle Datensätze haben wo das Feld typ T ist dann alle wo das Feld typ DU ist usw…

Gruß
Phillip

Moin, Phillip,

ist es in MySql möglich eine eigene Sortierreihenfolge
vorzugeben?

ja, das hatten wir gerade erst:
/t/mysql-tabelle-nach-typ-gruppieren/4612592/2

Gruß Ralf

Hallo Ralf,

ich glaub damit war aber was anderes gemeint,
ich möchte nicht nach dem Feldtyp sortieren sondern nach einem Feld mit dem Namen typ.
und da halt dann nicht alphabetisch sondern nach einer Speziellen von mir vorgegebenen Reihenfolge.

Gruß

Hallo Phillip,

ist es in MySql möglich eine eigene Sortierreihenfolge
vorzugeben?

Will zum Beispiel erst alle Datensätze haben wo das Feld typ T
ist dann alle wo das Feld typ DU ist usw…

Probier mal sowas in der Art:

SELECT typ FROM tab ORDER BY CASE typ WHEN 'T' THEN 0 WHEN 'DU' THEN 1 ELSE 2 END ASC

Ist aber langsam, wenn Du viele Möglichkeiten in der Spalte typ hast.

Kleine Nebenbemerkung: Ein Feld „Typ“ zu nennen ist aber etwas verwirrend…

Viele Grüße
Marvin

Lösung: [MySql] ORDER BY mit eigener Sortierung
Dies klappt perfekt:

SELECT \*, FIELD(`typ`, 'T', 'DH', 'KH', 'DU', 'KU') AS `index` FROM ... WHERE ... GROUP BY ... ORDER BY `index`

Gruß