mysql 跨年按周分组

use employees;
create table sales(
	id int auto_increment,
	date datetime not null,
	cost int unsigned not null,
	primary key(id)
);

insert into sales (date,cost)values('2010-12-31',100);
insert into sales (date,cost)values('2011-01-01',200);
insert into sales (date,cost)values('2011-01-02',100);
insert into sales (date,cost)values('2011-01-06',100);
insert into sales (date,cost)values('2011-01-10',100);

SELECT * FROM employees.sales;

select week(date),sum(cost)from sales group by week(date);

select floor(datediff(date,'1900-01-01')/7) as a,sum(cost) from sales group by floor(datediff(date,'1900-01-01')/7);

/*最终解决方案*/
select date_add('1900-01-01',interval floor(datediff(date,'1900-01-01')/7)*7 day) as week_start,
date_add('1900-01-01',interval floor(datediff(date,'1900-01-01')/7)*7+6 day)as week_end,sum(cost) from sales
group by floor(datediff(date,'1900-01-01')/7);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值