Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL Sélectionnez les données du mois dernier par current_timestamp

Cela vous donnera le mois dernier :

WHERE dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();

Ceci depuis le début du mois :

WHERE dateColumn BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();

L'ENTRE n'a rien de spécial, c'est juste un raccourci pour

dateColumn <= ... AND dateColumn >= ....

Hmm, je suppose que la comparaison NOW() n'est pas vraiment nécessaire, puisque tous les enregistrements seront avant maintenant.

Alors faites simplement :

WHERE dateColumn >= STR_TO_DATE('2012-09-01', '%Y-%m-%d')

Début dynamique du mois en cours :

WHERE dateColumn >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY

Tout cela ne fait qu'extraire le jour du mois de la date actuelle, puis en soustraire ce nombre de jours moins un.