MySQL-Ausgabe zweifach sortieren

Hallo,

wahrscheinlich ist diese Frage schon zig Male gestellt worden, aber ich habe nichts finden können (ok, vielleicht habe ich als Nichtsahnende einfach nur nach dem falschen gesucht). Also:

Über

mysql\_query("SELECT \* FROM table\_projekte WHERE db\_archiv = 0 ORDER BY db\_kunde")

rufe ich mir Inhalte sortiert nach dem Feld „db_kunde“ ab.

Nun möchte ich das Ergebnis dieser Abfrage nochmals weiter sortieren (nur am Rande: Nach dem Ansprechpartner beim Kunden). Das bringt mich zur eigentlichen Frage:

Ist es möglich, dies irgendwie direkt über die Abfrage zu gestalten (also sowas wie z. B. (ORDER BY db_ap(ORDER BY db_kunde)), wobei ich natürlich weiß, dass das in der Form nicht klappt)? Oder muss ich dazu das Rückgabearray nochmal sortieren (wenn dem so sein sollte, hat da zufälligerweise jemand was in PHP?)?

Danke vorab und Grüße aus einem viel zu warmen Büro
Eva

Hallo,

ich bin mir nicht ganz sicher, ob ich dich richtig verstanden habe, aber die einzig sinnvolle Art der Sortierung ist:

ORDER BY , [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

tatsächlich?
hi peter

Allerdings muss das Attribut, nach dem du sortierst in der
Query stehen. Z.B:

also, das würde mich wundern, wenn das im mysql so ist. soweit ich weiss, kann man in allen datenbanken, die einen gewissen mindeststandard im sql beherrschen (sollte seit sql92 so sein) nach beliebigen spalten sortieren, egal ob sie in der select-klausel vorkommen oder nicht. diese spalten werden dann halt implizit mit aus der db ausgelesen und als sortierschlüssel verwendet, aber nicht angezeigt. es ist also meines wissens nach nicht zwingend notwendig, die sortierspalten explizit im select aufzunehmen.

was anderes ist, wenn ich mit der relativen spaltenposition sortiere (also z.b. select name, vorname from person order by 2). hier kann ich natürlich nur nach selektierten spalten sortieren.

aber ich kenne nur oracle wirklich genauer. kann sein, dass mysql da wirklich anders ist.

lg
erwin

Hallo Jungs,

Danke für die Info, klappt super :smile:

Viele Grüße
Eva

hi peter

Allerdings muss das Attribut, nach dem du sortierst in der
Query stehen. Z.B:

also, das würde mich wundern, wenn das im mysql so ist. soweit
ich weiss, kann man in allen datenbanken, die einen gewissen
mindeststandard im sql beherrschen (sollte seit sql92 so sein)
nach beliebigen spalten sortieren, egal ob sie in der
select-klausel vorkommen oder nicht. diese spalten werden dann
halt implizit mit aus der db ausgelesen und als
sortierschlüssel verwendet, aber nicht angezeigt. es ist also
meines wissens nach nicht zwingend notwendig, die
sortierspalten explizit im select aufzunehmen.

was anderes ist, wenn ich mit der relativen spaltenposition
sortiere (also z.b. select name, vorname from person order by
2). hier kann ich natürlich nur nach selektierten spalten
sortieren.

aber ich kenne nur oracle wirklich genauer. kann sein, dass
mysql da wirklich anders ist.

lg
erwin