我有一组看起来像这样的数据
Cust Id order date Ordered Product
1 Jan 2 1
1 Jan 5 2
1 March 14 1
1 September 9 1
1 December 12 2
2 Jan 5 1
2 Feb 13 2
3 March 12 2
3 April 5 3
3 June 10 2
并且我的输出应该看起来像这样
Cust Id order Date Order product
1 Jan 31 3
1 feb 29 0
1 Mar31 1
1 Apr 30 0
1 May 31 0
1 June 30 0
1 July 31 0
1 Aug 31 0
1 Sept 30 1
1 oct 31 0
1 Nov 30 0
1 Dec 31 2
我已经知道了>]
1 January 31 3 1 March 31 1 1 September 30 1 1 December 31 2
我的代码是
select customer_id, date_format(last_day(order_date), '%M %d') as new_months, sum(products_ordered) as total from amazon_test where customer_id =1 group by new_months, customer_id;
我目前停留在需要将所有月份和'0'作为输出的部分,因为没有下订单。
我有一组类似于此客户ID订单日期的数据订购产品1 Jan 2 1 1 Jan 5 2 1 March 14 1 1 September 9 1 1 ...
如果您正在运行MySQL 8.0,一种选择是使用递归查询生成月份,然后将表带left join
: