# MySQL "ORDER by" umdrehen?



## Jonas007 (8. Dezember 2006)

Hallo,
ich habe da mal eine Frage:
Mit PHP frage ich eine MySQL-Datenbank ab und sortiere die Anfrageergebnisse nach einem bestimmten Kriterium. Nun müsste ich aber die Ausgabe in der Tabelle genau anders herum machen.
Konkret handelt es sich bei dem Sortierkriterium um einen Zahlenwert, der aber eben nicht aufsteigend, sondern absteigend sortiert werden soll.
Kann ich das direkt an MySQL senden oder müsste ich mir da irgendwas in PHP zusammenbauen, um die Werte entsprechend anders herum zu sortieren?


----------



## Radhad (8. Dezember 2006)

Versuch mal "ORDER BY tbl.name ASC" oder "ORDER BY tbl.name DESC"


----------



## Matthias Reitinger (8. Dezember 2006)

Hallo,

das steht sogar – man glaubt es kaum – im Handbuch.

Grüße,
Matthias


----------



## Gumbo (8. Dezember 2006)

Die Sortierreihenfolge kann direkt in der Abfrage mit den Schlüsselworten ASC und DESC für eine aufsteigende beziehungsweise absteigende Reihenfolge bestimmt werden.

Das nächte Mal schau bitte zuerst im MySQL-Handbuch nach, das ist nämlich Grundwissen zu MySQL!


----------



## Jonas007 (8. Dezember 2006)

Handbücher mag ich nicht so, trotzdem danke.
Ich hatte mir aber gerade eine andere Lösung dafür gebastelt, zwar kompliziert aber dafür kreativ.
Ich frage nach der Abfrage nämlich nun ab, wieviele Ergebnisse es gab und gehe dann mit "mysql_data_seek" meine Abfrage von hinten nach vorne durch, damit habe ich das Resultat, was ich wollte, auch wenn es nicht im Handbuch steht ;-)


----------



## Nico Graichen (8. Dezember 2006)

Hi


Jonas007 hat gesagt.:


> Handbücher mag ich nicht so, trotzdem danke.


Ich mein mich zu erinnern, dass irgendwo mal stand, dass man doch bitte erst selbst suchen soll ;-] so ala  oder  


Jonas007 hat gesagt.:


> Ich hatte mir aber gerade eine andere Lösung dafür gebastelt, zwar kompliziert aber dafür kreativ.
> Ich frage nach der Abfrage nämlich nun ab, wieviele Ergebnisse es gab und gehe dann mit "mysql_data_seek" meine Abfrage von hinten nach vorne durch, damit habe ich das Resultat, was ich wollte, auch wenn es nicht im Handbuch steht ;-)


Was aber der Performance mehr als Steine in den Weg legt. ORDER BY .. DESC / ASC gibt dir die das ResultSet schon fertig sortiert von der Datenbank. Das DBMS ist optimiert solche Aufgaben zu erledigen. Zu versuchen selbst zu machen, kann eigentlich nur nach hinten los gehen und ist zu dem noch fehleranfällig.
(und jetzt bitte nicht mit Antworten ala "auf Performance kommt es bei meiner Anwendung nicht an, das sind nur wenige Daten....")


----------



## Jonas007 (8. Dezember 2006)

Nun ist es nicht so, dass ich nicht vorher woanders nachgeschaut hatte, leider hatte ich da nichts gefunden.
Grundsätzlich ging ich davon aus, dass das Forum hier dafür da ist, Hilfestellung zu geben und Fragen zu beantwortet, auch wenn es sich für erfahrene Nurzer um banale Fragen handelt.

Und ja, ich habe meine Datenbankabfrage auch entsprechend geändert, nur als ich eben die Lösung noch nicht kannte, kam mir die Idee, mich mit der beschriebenen Lösung zu behelfen, was ja auch tadellos funktioniert, wenn auch natürlich nicht die optimale Lösung darstellt.
Manchmal ist aber eben einfach erstmal wichtig, dass es läuft und dann kann man den Weg dahin ja immer noch optmieren.

Trotzdem danke für die Sachinformation, ich habe dazu gelernt.


----------



## Nico Graichen (8. Dezember 2006)

HAb mich vielleicht unglücklich ausgedrückt, sorry
Es ging mir nicht darum, das Fragen gestellt werden, die für den einen oder anderen trivial sein mögen. Deine Aussage machte aber eher den Eindruck, dass du lieber hier die Frage stellst und andere die passende Seite im Handbuch,.. suchen lässt, anstatt das selbst zu machen.

Das mit der Änderung deines Querys hattest du vorher nicht geschrieben, klang also eher danach, dass du lieber bei deiner Lösung bleibst. Daher wollte ich dir nur ein paar Punkte nennen, warum du das nicht tun solltest.

Nochmal sorry, wollte dich mit dem Post nicht angreifen.


----------



## Jonas007 (8. Dezember 2006)

Dann lag die Ursache des Missverständnisses eher bei mir, da ich nicht deutlich gemacht hatte, dass ich die Datenbankabfrage dann nachträglich noch entsprechend geändert hatte.

Das andere war eben nur eine Zwischenlösung solange ich nicht wusste, ob es da nicht auch eine "offizielle" Lösung für gibt.

Schönes Wochenende


----------

