Hallo. Ich möchte auf einer News-Seite immer den neusten Spielbericht (Spalte Datum) jedes Teams (Spalte Team) ausgeben. Dabei habe ich verschiedene MySQL-Abfragen ausprobiert und stosse jedoch immer auf folgendes Problem: Sobald ich die GROUP BY (z.B. GROUP BY team) oder LIMIT (z.B. LIMIT 1 für um nur das aktuellste Datum auszugeben) Anweisung verwende haben Datensätze mit einem Datum aus dem Jahr 2001 Priorität vor Datensätzen aus dem Jahre 2002. D.h. der Datensatz von z.B. dem 1.12.2001 erscheint vor bzw. anstelle des Datensatzes vom 1.1.2002. Die Tage und Monate werden hingegen richtig geordnet d.h. ein Datensatz mit dem Datum 2.12.2001 erscheint vor bzw. anstelle des Datensatzes mit dem Datum 1.12.2001. Kann mir jemand sagen wo das Problem liegt? Vielen Dank für eure Ratschläge!
MySQL-Abfrage: Probleme mit Jahreswechsel
Einklappen
X
-
Wenn Du im Datumsformat zwingend zweistellige Tag- und Monats-Angaben (01.01.2002 anstatt 1.1.2002) ausgeben läßt wird sich Dein Problem vermutlich erledigen. Zur Sortierung empfehle ich Dir das Format JAHR.MONAT.TAG, also 2002.12.31 aufsteigend.
2001.01.01
2001.12.01
2001.12.02
2002.12.31
-
Hi!
Das Datumsformat spielt hierbei keine Rolle. Ob ein- oder zweistellig ist völlig egal.
Du musst nur das Datum sortiert ausgeben.
Standardsortierung ist ASC(ascending -> aufsteigend);
D.h. frühere Dati zuerst, je später desto weiter unten.
Deshalb steht auch ein 22.08.2001 vor 22.09.2002 etc.
Willst du das aktuellste Datum als erstes haben musst du DESC -> descending sortieren. also Absteigend.
Das aktulleste Datum ist dann der erste Datensatz.
Mit Limit 1 kombiniert spuckt es also nur das aktuellste Datum aus.
Bsp.:
Code:select * from table group by team order by date desc limit 1;
FreeBSD - Unleash the daemon inside your PC
Kommentar
-
Original geschrieben von iQD
Das Datumsformat spielt hierbei keine Rolle.
Kommentar
-
Asche auf mein Haupt
Hast recht. Ich habe vielleicht voreilig implizit angenommen es werden Datumstypen verwendet, alles andre wäre auch nicht grade sinnvoll, da man bei der Verwendung von charactertypen das problem mit der lexikalischen sortierung hat. Welches hier wahrscheinlich auftrat.
Naja werde nächstesmal implizit nichts annehmen.
Grüsse
[Editiert von iQD am 27-01-2002 um 19:41]FreeBSD - Unleash the daemon inside your PC
Kommentar
Kommentar