MySQL und Order by (nach zwei Spalten sortieren)
Localhorst
- php
0 Mike
Hallo Forum,
ich lese aus einem eine VarChar Spalte 'info_jahr' aus.
Diese Spalte ist immer mit folgendem String gefüllt => mm/yyyy
also Bsp. 10/2006
Damit ich nach Jahr und Monat sortieren kann, teile ich mir den Varchar mit der mysql Funktion SUBSTRING_INDEX in Jahr und Monat, klappt auch alles ohne Probleme.
Kommen wir zum Problem:
------------------
Ich möchte die Ergebnisse nun sortieren lassen, zuerst nach jahr und dann nach monat. Das sortieren nach jahr klappt, nur wird nicht mehr nach monat weiter sortiert.
Muß ich das irgentwie Gruppieren?
Für einen kleinen Tipp wäre ich Dankbar!
------------------
SELECT user\_id
, username
, user\_realname
, user\_email
, SUBSTRING_INDEX( info\_jahrgang
, '/', 1 ) AS monat, SUBSTRING_INDEX( info\_jahrgang
, '/', -1 ) AS jahr,
info\_land
, info\_stadt
, info\_abteilung
FROM orion\_users
WHERE user\_id
>=1
AND user\_id
!=3
ORDER BY jahr, monat ASC
Auf die Datenbankstruktur habe ich keinen Einfluß, ich muß also damit leben, das es ein Varchar ist und das das Datum so aufgebaut ist.
(Bitte nicht nur Tips wie "mach doch nen Timestamp, oder Datetime drauß" => weil geht nicht!)
Vielen Dank für eure Mühe
Gruß
Localhorst
Hi,
Kommen wir zum Problem:
Ich möchte die Ergebnisse nun sortieren lassen, zuerst nach jahr und dann nach monat. Das sortieren nach jahr klappt, nur wird nicht mehr nach monat weiter sortiert.
sieht fuer mich alles ganz OK aus, eventuell mal ASC auch auf jahr setzen. Kannst Du mal eine kleine Probe der Daten und der Abfragedaten liefern?
MFG
Mike Stanford
Hallo und Danke das du mal drüber geschaut hast
sieht fuer mich alles ganz OK aus, eventuell mal ASC auch auf jahr setzen. Kannst Du mal eine kleine Probe der Daten und der Abfragedaten liefern?
lag daran, das ASC mußte sowohl hinter monat als auch hinter jahr.
Gruß
Localhorst