Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL Wybierz dane z ostatniego miesiąca według current_timestamp

To da ci ostatni miesiąc:

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

To od początku miesiąca:

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

BETWEEN to nic specjalnego, to tylko skrót do

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

Hmm, wydaje mi się, że porównanie NOW() nie jest tak naprawdę potrzebne, ponieważ wszystkie rekordy będą wcześniej.

Więc po prostu zrób:

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

Dynamiczny początek bieżącego miesiąca:

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

Wszystko to polega na wyodrębnieniu dnia miesiąca od bieżącej daty, a następnie odjęciu od niego liczby dni mniej o jeden.



  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:uzyskaj średnią różnicę czasu?

  2. Przekazywanie wartości z listy rozwijanej lub pola tekstowego w Wordpress do zapytania MySQL w functions.php

  3. Alternatywa dla PDO::lastInsertId / mysql_insert_id

  4. Dowiedz się, czy instrukcja REPLACE została zastąpiona lub po prostu wstawiona do MySQL

  5. Używasz LIMIT w GROUP BY, aby uzyskać N wyników na grupę?