sql >> Database >  >> RDS >> Mysql

MySQL selecteer alle rijen van vorige maand tot (nu() - 1 maand), voor vergelijkingsdoeleinden

U kunt de eerste van de maand krijgen door de laatste_dag van de maand ervoor te berekenen en één dag toe te voegen. Het is onhandig, maar ik denk dat het beter is dan een datum op te maken als string en die te gebruiken voor berekeningen.

select 
  *
from
  yourtable t
where
  /* Greater or equal to the start of last month */
  t.date >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) and
  /* Smaller or equal than one month ago */
  t.date <= DATE_SUB(NOW(), INTERVAL 1 MONTH)


  1. MySql upsert en auto-increment veroorzaakt hiaten

  2. Hoe postgres-tabel te partitioneren met behulp van tussenliggende tabel

  3. Verwijderen met meerdere tabellen en tabel herhalen in de subquery

  4. Hoe SQLite en SQLite Browser in Ubuntu te installeren