1
我希望从按月份分组的购买表中获得最近1年的记录。重要的是要提到最近两个月没有购买,包括现在。 MySQL查询像下面使用mysql时间间隔获取按月份分组的数据
SELECT Year(purchasedate) as y ,Month(purchasedate) as m, Count(*) FROM purchase WHERE productid=1001 AND purchasedate >= CURDATE() - INTERVAL 1 YEAR GROUP BY m, y
从最后一次购买日期
2015 1 9177
2015 2 9914
2015 3 11672
2015 4 10521
2015 5 11873
2015 6 10449
2015 7 4057
2014 9 340
2014 10 9913
2014 11 8451
2014 12 7857
返回11个月的数据,但它应该回路12点月的数据。
2015 1 9177
2015 2 9914
2015 3 11672
2015 4 10521
2015 5 11873
2015 6 10449
2015 7 4057
2015 8 0
2015 9 0
2014 10 9913
2014 11 8451
2014 12 7857
我做错了什么。提前致谢。
假设我有过去6年的数据,所以我的d表应该有6 * 12 = 72条目,例如(id ym) 1 2009 1,2 2009 2,3 2009 3 ....等等 –
@ Alvi_1987,不,表'd'包含两个表'a'&'b'。现在'a'列出你想要的所有年份,'b'列出所有可能的12个月。目前'a'只返回2015年和2014年,如果您想添加更多年份,只需在'a'的子查询中添加'UNION ALL SELECT 2013 AS y'等等。 'CROSS JOIN'会为你处理乘法 – mynawaz