是否有可能在MySQL中循环销售数据?

时间:2015-09-14 11:54:13

标签: mysql sql date datetime

我正在尝试为我们的销售团队构建一个有用的查询,以查看我们的业务在当月的销售额与前几个月的相同数量。

因此,如果今天是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部分中使用?

1 个答案:

答案 0 :(得分:0)

我不会在查询中使用字符串文字,而是使用MySql&#39; DAYMONTH函数:

WHERE orders.MasterOrderNumber = ''
AND DAY(OrderDate) <= DAY(CURDATE())
GROUP BY MONTH(OrderDate)