私の質問には非常にばかげた解決策があることを願っていますが、私は立ち往生しています。MySQL今日の結果を選択していない過去30日間を選択してください
私は過去30日間の注文を日付でグループ化するこのクエリを持っています。
SELECT
DATE_FORMAT(order_date, '%Y-%m-%d') as day,
COUNT(*) AS num
FROM
orders
WHERE
(order_date >= CURDATE() - INTERVAL 30 DAY)
GROUP BY
DAY(order_date)
このクエリには、昨日までの結果のみが含まれますが、今日のものは含まれません。私は間違って何をしていますか?
役立ち情報:
order_date
はDATETIME
フォーマットを有します。- 私はチェックしており、データベースには今日の日付の注文があります。
CURDATE()
をNOW
に変更しようとしましたが、BETWEEN
を使用しても問題ありません。SELECT DATE_FORMAT(order_date, '%Y-%m-%d') as day, COUNT(*) AS num FROM orders WHERE (order_date >= CURDATE() - INTERVAL 30 DAY) GROUP BY day;
注:あなたが
DAY(date)
によってグループ化されたクエリで
正確に何が出力されるべきですか? –