Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - DATE_ADD месечен интервал

DATE_ADD работи добре с различни месеци. Проблемът е, че добавяте шест месеца към 2001-01-01 и 1 юли трябва да е там.

Ето какво искате да направите:

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)

ИЛИ

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

За по-нататъшно обучение, разгледайте DATE_ADD документация .

*редактирано за правилен синтаксис



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql PDO максимална дължина на данните на LONGBLOB при извличане

  2. Класирайте потребителите в mysql по техните точки

  3. Извеждане на всички PHP грешки в базата данни, а не error_log

  4. Unicode символите стават въпросителни след вмъкване в базата данни

  5. Грешка при използване на подготвени изрази за PDO и LIMIT в заявката