MySQL-Abfrage: Probleme mit Jahreswechsel

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL-Abfrage: Probleme mit Jahreswechsel

    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!

  • #2
    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

    Kommentar


    • #3
      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;
      Grüsse


      FreeBSD - Unleash the daemon inside your PC

      Kommentar


      • #4
        Original geschrieben von iQD
        Das Datumsformat spielt hierbei keine Rolle.
        Soferne für das Datum der Feldtyp DATETIME, DATE verwendet wird. Nicht bei Charactertypen. Es gibt zwar keinen Hinweis auf Character, aber auch keinen auf Date. Jedoch die beschriebenen Sortierreihenfolge lassen auch den Schluß zu es könnte sich um Character Inhalte handeln, ansonsten hätte die angebene Sortierung ja geklappt durch das Indiz "... richtig geordnet"

        Kommentar


        • #5
          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


          • #6
            Nein, keine Asche auf Dein Haupt. Das paßt schon so! Du genießt meine Wertschätzung.

            Christian W. war es vermutlich ohnehin nicht so wichtig, sonst hätte er auf den Thread schon reagiert.

            Kommentar

            Lädt...
            X