Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - DATE_ADD Monatsintervall

DATE_ADD funktioniert gut mit verschiedenen Monaten. Das Problem ist, dass Sie 2001-01-01 sechs Monate hinzufügen und der 1. Juli soll da sein.

Das möchten Sie tun:

SELECT * 
FROM mydb 
WHERE creationdate BETWEEN "2011-01-01" 
                   AND DATE_ADD("2011-01-01", INTERVAL 6 MONTH) - INTERVAL 1 DAY
GROUP BY MONTH(creationdate)

ODER

SELECT * 
FROM mydb 
WHERE creationdate >= "2011-01-01" 
AND creationdate < DATE_ADD("2011-01-01", INTERVAL 6 MONTH)
GROUP BY MONTH(creationdate)

Weitere Informationen finden Sie unter DATE_ADD Dokumentation .

*Bearbeitet, um die Syntax zu korrigieren