Aujourd'hui une requête Mysql toute simple : Faire une somme sur le mois précédent.
Somme sur mois précédent sur un champ datetime
SELECT
SUM(EARNINGS)
FROM
TRANSACTIONS
WHERE
DATE BETWEEN
DATE_FORMAT( DATE_SUB( NOW( ) , INTERVAL 1 MONTH) , '%Y-%m-01 00:00:00') AND
CONCAT(LAST_DAY( DATE_SUB( NOW( ) , INTERVAL 1 MONTH ) ) , ' 23:59:59')
La même requête avec un champ date
Et maintenant la même requête sur un champ de type date : on supprime l'heure.
SELECT
SUM(EARNINGS)
FROM
TRANSACTIONS
WHERE
DATE BETWEEN
DATE_FORMAT( DATE_SUB( NOW( ) , INTERVAL 1 MONTH) , '%Y-%m-01') AND
LAST_DAY( DATE_SUB( NOW( ) , INTERVAL 1 MONTH ))
Image : Gennie Catastrophe