我在这个MySQL查询中收到了一个奇怪的结果。SQL SELECT和GROUP BY Month在9个月以上没有返回结果
我试图返回'订单',按月分组。
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
当我运行查询现在个月前,我得到这样的结果之间拿到订单:
==================
| 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个月前等同于12月有关,它会落在不同的年份并引起某种问题,但我不确定。有没有人有任何想法为什么搜索一个额外的月份会返回没有结果?除了Jan之外没有数据,或者这个月是不同的一年?
感谢
啊,这是问题所在。我没有想到把它分解成它正在做的实际数学。谢谢! – mattCreative