我想计算一下上个月的订单总额。
我得到了从当前日期获取当月数据的查询。
SELECT SUM(goods_total) AS Total_Amount FROM orders
WHERE order_placed_date >= date_sub(current_date, INTERVAL 1 MONTH);现在,我如何才能只获得前几个月的数据,不包括这个月。
例如,这个月(7月)我赚了15,000美元,上个月(6月)我赚了14,000美元。
我通过运行上面的查询得到15,000美元。
但我不知道如何计算前几个月。
发布于 2009-07-16 14:56:31
在这里,使用下面的代码在MySQL中获取上个月1号和上个月最后一个月之间的日期:
... order_placed_date BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01 00:00:00')
AND DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 1 MONTH), '%Y-%m-%d 23:59:59')发布于 2011-12-02 00:10:56
我发现Artem的查询没有返回上个月最后一天的任何内容(假设从前一天的00:00:00开始计算)。
这似乎适用于我上个月的工作。
order_placed_date BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01')
AND DATE_FORMAT(NOW() ,'%Y-%m-01')发布于 2015-02-22 00:23:41
最简单的解决方案:
SELECT SUM(goods_total) AS Total_Amount FROM orders
WHERE YEAR(order_placed_date) = YEAR(CURDATE() - INTERVAL 1 MONTH)
AND MONTH(order_placed_date) = MONTH(CURDATE() - INTERVAL 1 MONTH)https://stackoverflow.com/questions/1138190
复制相似问题