我正在尝试为我们的销售团队构建一个有用的查询,以查看我们的业务在当月的销售额与前几个月的相同数量。
因此,如果今天是9月14日,我想比较一下我们在8月1日至14日之间的销售量等等,看看我们是涨还是跌。
我已创建了用于提取数据的查询,但它并未处于任何类型的循环中。有人可以建议一种方法吗?下面显示了2015年7月的数据......
SELECT CONCAT(MONTH(OrderDate),'-',YEAR(OrderDate)) AS MontyYear,
COUNT(sw_orders.OrderNumber) OrderCount,
SUM(Gross) GrossIncome
FROM
orders
WHERE
orders.MasterOrderNumber = ''
AND Date(OrderDate) >= '2015-07-01'
AND Date(OrderDate) <= Concat('2015-07-', DAY(CURDATE()))
order by orders.ordernumber;
感觉我需要一个月份数变量,所以从&#34; 1&#34;对于1月 - 然后每个循环计数并且使用在查询的OrderDate部分中使用?
答案 0 :(得分:0)
我不会在查询中使用字符串文字,而是使用MySql&#39; DAY
和MONTH
函数:
WHERE orders.MasterOrderNumber = ''
AND DAY(OrderDate) <= DAY(CURDATE())
GROUP BY MONTH(OrderDate)