Trying to fetch last month data from mysql
本问题已经有最佳答案,请猛点这里访问。
我正在尝试从mysql调用上个月的数据,但它也提供了前几年的数据,例如2011年8月,2012年8月.... 2015年8月。我使用了不同的函数来获取上个月的间隔但没有成功。这意味着来自数据库的订单总和也不正确。
查询1:
1 2 3 4 5 6 7 8 | SELECT sku, order_date, sum(`order_total`) AS sales FROM `tableOrder` WHERE `order_status`='Shipped' AND MONTH(STR_TO_DATE(order_date, '%m/%d/%Y')) = MONTH(CURDATE() - INTERVAL 1 MONTH) GROUP BY STR_TO_DATE(order_date, '%m/%d/%Y') ORDER BY sales DESC |
查询2:
1 2 3 4 5 6 7 8 | SELECT sku, order_date, sum(`order_total`) AS sales FROM `tableOrder` WHERE `order_status`='Shipped' AND MONTH(STR_TO_DATE(order_date, '%m/%d/%Y')) = MONTH(DATE_ADD(Now(), INTERVAL -1 MONTH)) GROUP BY STR_TO_DATE(order_date, '%m/%d/%Y') ORDER BY sales DESC |
添加年份的附加条件:
1 2 3 4 5 6 | SELECT sku,order_date,sum(`order_total`) as sales FROM `tableOrder` WHERE `order_status`='Shipped' AND MONTH(STR_TO_DATE( order_date, '%m/%d/%Y' )) = MONTH(CURDATE() - INTERVAL 1 MONTH) AND YEAR(order_date) = YEAR(NOW()) GROUP BY STR_TO_DATE( order_date, '%m/%d/%Y' ) ORDER BY sales desc |