mysql 跨年按周分组-阿里云开发者社区

开发者社区> skyme> 正文

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);

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Mysql按时间分组查询(每天|每月|每年)
根据保存的数据类型不同,有不同的处理方式,常见的有两种保存形式: 时间戳int 日期时间datetime 时间戳 早期一直在使用的方式,缺点: 在数据库中不直观 查询的时候涉及到转换 例如在查询的时候需要将日期时间转化为时间戳:where cr...
3623 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8490 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10924 0
mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】
注:文中所有的。。。代表多个。 1、使用count统计条数:select count(字段名。。。) from tablename; 2、使用avg计算字段的平均值:select avg(字段名) from tablename; 这里都可以适当的拓展,比如加条件,重命名等等。 3、使用sum求和:select sum(字段名) from tablename;
1012 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11394 0
Mysql中较为复杂的分组统计去重复值
这是我的代码: 前提是做了一个view:att_sumbase 首先分开统计每天的中午、下午饭点人数,这时需要分别去除中午和下午重复打卡的人。用了记录集的交,嵌套select的知识。 注意不能直接使用union,这里只能使用union all,因为union会去掉重复记录,一个员工上午吃了,下午也吃了,union只会算一条,而union则能看出一共吃了两次。
740 0
+关注
438
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载