# SELECT-Ergebnis sortieren funzt net



## Dunsti (22. Oktober 2001)

Hi,

hab da ein Problem:

Laut MySQL-Handbuch kann man die Ergebnisse einer SELECT-Abfrage mit dem Schlüsselwort ORDER sortieren lassen (ASC oder DESC)

Laut dem selben Handbuch ist es auch möglich, nach mehr als nur einem Feld sortieren zu lassen:


> select college, region, seed from tournament ORDER BY region, seed



Dies funktioniert bei mir aber nicht:



> SELECT Id, Titel, Details, Location, Strasse, Ort, Tag, Monat, Jahr, Uhrzeit FROM events ORDER BY Jahr, Monat, Tag DESC



Solange ich nur nach Jahr sortieren lasse klappt es wunderbar, aber sobald ich ein zweites Feld bei ORDER mit angebe klappt es nicht mehr. 

Ich habe auch schon versucht, statt den Feldnamen die entsprechende Ordnungszahl anzugeben. klappt auch net.

Hoffe mir kann wer helfen.

Gruß
Dunsti


----------



## Husky (22. Oktober 2001)

mhh sicher das das gehen muss. ich stell mir das schwer for. man kann ja nich nach 2 zahlen gleichzeitig ordnen


----------



## Tob (22. Oktober 2001)

also in meinem Handbuch wird das mit den 2 sortierkriterien nur genutzt weil eines der beiden nicht eindeutig bzw überall vorhanden ist,vieleicht geht das nicht wenn beide Eindeutig sind.
kenn mich mit mysql aber nicht aus ist nur eine vermutung.


tob

NachtragHusky
Ich denke man kann schon nach 2 Zahlen gleichzeitig sortieren. Man muss dann beide unterschiedlich stark gewichten.wenn es zb mehrer Zeilen mit einer 5 region(als primärerSortierSchlüssel) gibt die aber bei seed(sekundärer weniger stark gewichteter Schlüssel)verschiedene werte haben (1,3,5,7)könnte man sie so ordnen:
1.)5-1
2.)5-3
3.)5-5
4.)5-7
5.)6-12
6.)7-2
7.)7-99
8.)8-
.......


----------



## Scalé (22. Oktober 2001)

hmm also gehen muss es.



> Columns selected for output may be referred to in ORDER BY and GROUP BY clauses using column names, column aliases, or column positions. Column positions begin with 1:
> mysql> select college, region, seed from tournament
> ORDER BY region, seed;
> mysql> select college, region AS r, seed AS s from tournament
> ...



Das ist von http://www.mysql.com

Ich habe es gerade auch bei mir probiert.
und die abfrage 


> SELECT username, datum, text FROM termin_kalender ORDER BY username, datum desc


funktioniert.

Head


----------



## Dunsti (22. Oktober 2001)

danke Jungs, aber ich hab den Fehler gefunden. 

Natürlich geht es, aber man muss nach jedem Sortierkriterium extra angeben, ob auf- oder absteigend sortiert werden soll.

Ich wollte nach allen drei Feldern absteigend sortieren, und da muss es heißen:

ORDER BY Jahr DESC, Monat DESC, Tag DESC

Bei meiner ersten Variante hat er also das Jahr und den Monat aufsteigend sortiert, und dann den Tag absteigend. Da ich nur wenige Einträge in der Tabelle hatte, sah es dann so aus, als wenn er nicht sortieren würde.

trotzdem thx. 

Gruß
Dunsti


----------



## huhuhu (17. Dezember 2004)

*Re: SELECT-Ergebnis sortieren  net*

Hai,


danke für den Tipp, funktioniert auch bei einer Access-Datenbank erstaunlich gut.

Immer alles Gute


huhuhu

http://www.liooil.de


----------

