Vinzenz Mai: MySQL Daten nach Monat suchen?

Beitrag lesen

Hallo,

In meiner Datenbank steht ein Zeitstempel (Date: YYYY-MM-DD) drin. Jetzt möchte ich mir die Daten für den aktuellen und den letzten Monat anzeigen lassen.
Dies sollte ja mit Date_add gehen. Mein Problem ist nur, dass ich ja immer nur die Daten von 1. ab möchte. Sprich wenn ich now() mache und dann date_add habe ich am 2. dann die daten vom 2. bis 1. aber ich brauche ja die vom vor Monat 1. bis 30./31.

den ersten Tag des letzten Monats bekommst Du, indem Du vom aktuellen Datum eins weniger als den aktuellen Tag im Monat abziehst und vom Ergebnis einen Monat abziehst:

SELECT  
    [link:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_current-date@title=CURRENT_DATE()]                           -- vom aktuellen Datum  
    - INTERVAL ([link:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_day@title=DAY](CURRENT_DATE() - 1) DAY  -- eins weniger als den aktuellen Tag  
    [link:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-add@title=- INTERVAL 1 MONTH];                      -- und einen kompletten Monat  
                                             -- subtrahieren.  

Das komplette Statement solltest Du jetzt selbst hinbekommen.

Freundliche Grüße

Vinzenz