create table products
(
id int not null,
productname varchar(45),
productcategory varchar(45),
productprice decimal(8,2),
datepurchased varchar(45),
primary key (id)
);
INSERT INTO products (id, productname, productcategory, productprice, datepurchased) VALUES
(1, 'Toy car', 'toys', 200.30, '2017 December'),
(2, 'Phone', 'phone', 50.00, '2017 December'),
(3, 'Disk drive', 'Accessories', 10.00, '2018 January'),
(4, 'Mouse', 'Accessories', 20.30, '2018 January'),
(5, 'Baby doll', 'toys', 100.00, '2018 February'),
(6, 'Toy car', 'toys', 40.10, '2018 March');
我的sql小提琴:http://sqlfiddle.com/#!9/4ff0cf/1/0结果应该是这样的。
Month | ProductCategory | Amount
-------------------------------------------------
2017 December | toys | 200.30
2018 January | phone | 50.00
2018 January | Accessories | 30.30
2018 February | toys | 100.00
2018 March | toys | 40.10
如果你注意到,附件有一月份的多个条目,它是总和。
如果可以的话,请在你的答案中加入一个sql fiddle。谢谢。
3条答案
按热度按时间yws3nbqq1#
试试这个:
请参阅SQLFiddle上的工作演示。
f5emj3cl2#
由于datepurchased列不是date或datetime列,因此需要使用特定的字符串函数对其进行操作。
这是你的答案,希望对你有帮助。任何问题,请告诉我。
sql FIDLE url:http://sqlfiddle.com/#!9/4ff0cf/43号
3mpgtkmj3#
在这里摆弄:http://sqlfiddle.com/#!9/4ff0cf/15/0号
您要做的是使用多个参数进行分组: