sql >> データベース >  >> RDS >> Mysql

MySQLは、比較のために、先月から(now()-1か月)までのすべての行を選択します

    前月のlast_dayを計算し、1日を加算することで、月の最初を取得できます。厄介ですが、日付を文字列としてフォーマットして計算に使用するよりも良いと思います。

    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. 配列を使用したPDO更新テーブル

    2. MySQLは、スキーマを照会すると変動する行数を示しますか?

    3. QRコードをMySqlデータベースに転送する

    4. SQLServerの既存の列にIDプロパティを追加するにはどうすればよいですか