このMySQLクエリで奇妙な結果を受け取りました。
月ごとにグループ化された「注文」を返そうとしています。
SELECT DATE_FORMAT(date_of_sale, '%b') AS date, SUM(quantity) AS items FROM order_elements JOIN orders ON order_elements.order_ref = orders.order_id WHERE cur_status = 1 AND quantity > 0 AND MONTH(date_of_sale) BETWEEN MONTH(CURDATE() - INTERVAL 8 MONTH) AND MONTH(NOW()) GROUP BY MONTH(date_of_sale) ORDER BY MONTH(date_of_sale) DESC
現在から8か月前までの間に注文を取得するためにクエリを実行すると、次の結果が得られます。
==================
| date | items |
==================
| Sep | 95 |
| Aug | 110 |
| Jul | 106 |
| Jun | 110 |
| May | 100 |
| Apr | 130 |
| Mar | 100 |
| Feb | 94 |
| Jan | 7 |
===================
1月30日は、私が注文した最も早くて最初の日付です。他のdate_of_saleは1月30日以降です。
同じクエリを実行したが、現在から9か月前までの間に、結果が得られません。
9ヶ月前が12月と同じで、別の年になって何らかの問題を引き起こしていることと関係があるのではないかと思いますが、よくわかりません。余分な月を検索しても結果が返されない理由を誰かが知っていますか?1月以降のデータがないことと関係があるのでしょうか、それとも別の年の月であるのでしょうか。
ありがとう