MySQL Wählen Sie die Daten des letzten Monats nach current_timestamp aus

7

bis heute, als ich mit MySQL arbeitete und Aktionen mit Datum / Uhrzeit ausführen musste, benutzte ich die int-Spalte mit unix-Zeitstempel und es gab keine Probleme, aber heute nach dem Lesen einiger Anleitungen entschied ich mich, die Zeitstempelspalte mit "current_timestamp" zu testen Standardmäßig.

So bin ich daran interessiert, wie man die Daten für den letzten Monat nach Spalte sortiert, wo sich die Informationen im Format "2012-09-07 00:23:30" befinden? Und vielleicht gibt es einige knifflige Fragen, was mir Daten von Anfang dieses Monats geben wird (nicht letzte 30 Tage, aber von 09-01 00:00:00 bis heute)?

    
MyMomSaysIamSpecial 06.09.2012, 22:22
quelle

3 Antworten

17

Damit erhalten Sie den letzten Monat:

%Vor%

Dies von Anfang des Monats an:

%Vor%

Das BETWEEN ist nichts besonderes, es ist nur eine Abkürzung für

%Vor%

Hmm, ich schätze, der NOW () Vergleich wird nicht wirklich benötigt, da alle Datensätze vorher da sind.

Also mach einfach:

%Vor%

Dynamischer Start des aktuellen Monats:

%Vor%

All dies bewirkt, dass der Tag des Monats vom aktuellen Datum extrahiert wird, dann subtrahieren Sie die Anzahl der Tage um einen Tag davon.

    
Ariel 06.09.2012, 22:35
quelle
3

Sie sollten sich common_schema ansehen, es ist einfach zu installieren und enthält viele großartige Tools, einschließlich eine Funktion namens start_of_month() , die genau das ist, wonach Sie suchen :

%Vor%     
Ike Walker 06.09.2012 23:48
quelle
-1

Wenn Sie einen mysql Zeitstempel haben, etwas wie 2013-09-29 22:27:10 können Sie dies tun

%Vor%

Konvertiere in Unix und verwende dann die Unix-Zeitfunktionen, um den Monat zu extrahieren, in diesem Fall 9 für September.

    
Federico 04.10.2013 17:09
quelle

Tags und Links