私はこのクエリを持っています:
SELECT DATE( a.created_at ) AS order_date, count( * ) as cnt_order
FROM `sales_order_item` AS a
WHERE MONTH( a.created_at ) = MONTH( now())-1
GROUP BY order_date
これは次のような結果を返します(スナップショットはそれ以外の場合のみ31日ごとに返されます):
order_date cnt_order
2012-08-29 580
2012-08-30 839
2012-08-31 1075
そして私の完全なクエリは上記の選択に基づいて選択しています:
SELECT order_date
, MAX(cnt_order) AS highest_order
FROM (
SELECT DATE (a.created_at) AS order_date
, count(*) AS cnt_order
FROM `sales_order_item` AS a
WHERE MONTH(a.created_at) = MONTH(now()) - 1
GROUP BY order_date
) AS tmax
しかし、それは結果です:
order_date highest_order
2012-08-01 1075
これは日付が間違っており、常に2012-08-31と想定される日付の最初の行を選択します。多分これは私が知らない単純なエラーです。では、2012-08-31の正しい日付を取得するにはどうすればよいですか?どんな助けでも素晴らしいでしょう。