create table `data_values` (buy_date date, amount decimal(18,2));
insert into `data_values` (buy_date, amount) values ('2008-01-01', 100),
('2008-01-14', 50),
('2008-02-15', 100),
('2008-03-01', 100),
('2008-04-01', 100),
('2008-05-02', 100),
('2008-05-10', 50),
('2008-05-22', 25);
select monthname(buy_date), sum(amount) from `data_values` group by monthname(buy_date)
monthname(buy_date) sum(amount)
April 100
February 100
January 150
March 100
May 175
您可能需要添加一个额外的GROUPBY子句 year(pay_date) 所以它不会把岁月混在一起。除非那是你想要的。看到了吗http://sqlfiddle.com/#!9月9日CC82/2 select year(buy_date), monthname(buy_date), sum(amount) from data_values group by year(buy_date), monthname(buy_date)
1条答案
按热度按时间jei2mxaa1#
你可以按月份使用sum和grouping。
看到它在行动http://sqlfiddle.com/#!2012年10月27日
现在,如果表中有实际日期字段,则可以使用
monthname()
得到你想要的分组看到它在行动http://sqlfiddle.com/#!9月9日A1D6/1
您可能需要添加一个额外的GROUPBY子句
year(pay_date)
所以它不会把岁月混在一起。除非那是你想要的。看到了吗http://sqlfiddle.com/#!9月9日CC82/2select year(buy_date), monthname(buy_date), sum(amount) from data_values group by year(buy_date), monthname(buy_date)