レポートで transaction_date という日時フィールドがあり、先月を選択する必要があります。これを行うにはどうすればよいですか? (これは1月のような月にも機能するはずです)
私は次のことを思いつきましたが、これは月が1月でない場合にのみ機能します。
SELECT SUM(amount) AS pay_month FROM `users_payment` WHERE MONTH(transaction_datetime)= MONTH(NOW()) AND YEAR(transaction_datetime)=YEAR(NOW())
INTERVAL関数を使用した例はたくさんありますが、これはカレンダーの月ではなく時間間隔を選択するだけです..
お気に入り
SELECT SUM(amount) AS `year_month` FROM `users_payment` WHERE DATE_ADD(NOW(), INTERVAL -1 MONTH) < transaction_datetime
しかし、これは私が望んでいるものではありません。昨年の 12 月のみの売上高を選択したいのです (テーブルには、1979 年、1981 年など、必要のない他の年もあることに注意してください)。
同じレポートの次のセクションで、過去 2 か月を選択する必要があります。これを行う方法についてもわかりません。