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