Kalenderwoche selecten

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

  • Kalenderwoche selecten

    Hi,

    ich habe hier eine DB mit einem Eintrag pro Tag für die letzten 3 Jahre.

    Nun möchte ich gerne eine Jahresübersicht mit Kalenderwochen erstellen

    PHP-Code:
    SELECT 
    week
    (datum,1) AS kw
    month(datum) AS monat,
    year(datum) AS jahr

    FROM
    tabelle

    WHERE
    year
    (datum) = 2005

    GROUP BY monat
    kw

    ORDER BY datum DESC 
    Das sieht soweit auch schon ganz gut aus. Problem ist nur das zum Beispiel der 1.1.2005 in die 53te KW des Jahres 2004 fällt. Natürlich kommt er bei meiner Query mit raus.

    Kann mir vielleicht jemand nen denkAnstoß geben, wie ich erst ab der ersten KW 2005 anfange?

    Danke.
    Zuletzt geändert von prego; 15.12.2005, 13:39.

  • #2
    Mhhh.... Meines Wissens ist die Ausgabe schon korrekt, weil die 1. KW des Jahres halt auch dann anfängt.

    Aber Du kannst das Problem umgehen. Im Manual wird darauf ausführlich eingegangen (Suche nach "WEEK("). Dem auch grundsätzlich Dein erster Blick vor dem Posten gelten sollte, wenn Du hier keine Sprüche ernten willst

    Kommentar


    • #3
      Hey, klasse vielen Dank...

      Hatte nach WEEK() nicht weiter gelesen. YEARWEEK ist mein Freund.

      Hier nun die komplette Query mit der es einwandfreu funktioniert.

      PHP-Code:
      SELECT 
      MID
      (YEARWEEK(DATE_SUB(datumINTERVAL 4 DAY),1),5,2) AS the_week,  
      MID(YEARWEEK(DATE_SUB(datumINTERVAL 4 DAY),1),1,4) AS the_year,  
      MONTH(DATE_SUB(datumINTERVAL 4 DAY)) AS the_month 

      FROM  
      tabelle

      WHERE  
      YEAR
      (DATE_SUB(datumINTERVAL 4 DAY)) = 2005

      GROUP BY the_month
      the_week  

      ORDER BY  
      datum DESC 
      Ich verschiebe den Wochenstart noch um 4 Tage, da die Woche bei uns Mittwochs anfängt - zumindest in diesem speziellen Fall.


      Dickes Danke...

      Kommentar

      Lädt...
      X