`

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使用GROUP BY分组实现取前N条记录的方法

    mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法。 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 代码如下:SELECT a....

    0.5 MySQL分组函数与分组查询

    MySQL 分组函数与分组查询 MySQL 中的分组函数和分组查询是数据分析和处理的重要工具,能够帮助用户快速对数据进行聚合、筛选和分析。在本节中,我们将详细介绍 MySQL 中的分组函数和分组查询,包括 SUM、AVG、MAX...

    Mysql利用group by分组排序

    首先先按某个字段进行order by,然后把有顺序的表进行分组,这样每组的成员都是有顺序的,而mysql默认取得分组的第一行。从而得到每组的最值。 select id, (@rowno := @rowno + 1) as rank, score, (C.end_ti

    mysql分组取每组前几条记录(排名) 附group by与order by的研究

    –按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...

    MySql实现分组取n条最大记录.txt

    在MySQL中实现分组并获取每组中的特定数量的最大记录是一项常见的需求,尤其是在处理大量数据时。例如,在上述示例中,我们希望基于`resid`进行分组,并且对于每个组,我们要找出前两条具有最高`pscore`和次高的`...

    MYSQL每隔10分钟进行分组统计的实现方法

    在数据库领域,进行数据统计分析是常见的需求,尤其是在实时监控、业务分析等场景中,需要对数据按时间段进行分组统计。本文将详细介绍如何使用MySQL数据库每隔一定时间(例如每10分钟)对数据进行分组统计的实现...

    05mysql分组函数

    这是我自己学习mysql时的学习笔记,每一个知识点都是自己动手写的,涵盖了mysql中的几乎全部的基础知识点,查询,子查询,分组,排序,常用函数,多表连接,视图,变量,存储过程,函数,分支结构,循环结构等等

    MySQL聚合函数和分组时,使用Python语言和MySQL连接库示例代码.txt

    - 使用`GROUP BY`子句按部门进行分组。 - 执行SQL语句:`cursor.execute(select_query)`。 5. **获取结果**:使用`cursor.fetchall()`获取查询结果。 6. **处理结果**:遍历查询结果,并打印每个部门及其对应的...

    MySQL分组排序功能

    ### MySQL分组排序功能 #### 知识点概述 MySQL是一种广泛使用的开源关系数据库系统,因其性能稳定、易于管理等特点而受到开发者的喜爱。但在某些高级查询方面,MySQL相较于其他数据库(如Oracle)存在一定的局限性...

    MySQL之聚合查询、分组和排序

    ### MySQL之聚合查询、分组和排序 #### 聚合查询、分组与排序概述 聚合查询、分组和排序是关系型数据库系统中重要的数据处理方式之一,尤其是在MySQL这样的流行数据库管理系统中更是如此。这些操作可以帮助用户从...

    MySQL DQL - 分组查询.md

    ### MySQL DQL - 分组查询 #### 概述 在MySQL数据库中,数据查询语言(Data Query Language,简称DQL)主要用于检索数据。其中,分组查询是DQL的一个重要组成部分,它允许用户根据一个或多个列对结果集进行分组,...

    Mysql取分组后的每组第一条数据

    在MySQL中,当我们需要从分组后的数据中获取每组的第一条或特定顺序的数据时,标准的`GROUP BY`和`ORDER BY`语句并不能直接实现这个需求。这是因为`GROUP BY`语句会先对数据进行分组,然后在每个组内应用`ORDER BY`...

    mysql数据库基础

    mysql数据库基础讲述PHP与mysql数据库的联系与运作

    MySQL- 分组查询讲解

    MySQL中的分组查询是SQL语言中的一个重要组成部分,它允许我们对数据进行聚合操作,以便根据一个或多个列的值对结果进行分类。这种查询方法在处理大量数据时尤其有用,可以用于统计、分析和总结数据。下面我们将深入...

    mysql 统计一天24小时数据默认补0SQL

    这里使用 `HOUR` 函数来获取 `login_time` 的小时部分,并用 `GROUP BY hours` 来分组统计数据。 ```sql SELECT HOUR(login_time) AS hours, SUM(user_id) AS count FROM tb_log_login WHERE DATE_FORMAT(login...

    Mysql按年,月,日,是分组统计数据

    Mysql按年,月,日,是分组统计数据,适合做各种时间的数据查询

    mysql 按照小时分组/天分组/月分组 ;无数据补充0

    mysql 按照小时分组/天分组/月分组 ;无数据补充0(请查看存储过程)

    MySQL优化篇:排序分组优化.pdf

    MySQL优化篇:排序分组优化,主要关注的是在使用order by和group by关键字进行查询时的性能优化。order by关键字用于对查询结果进行排序,而group by关键字用于对数据进行分组汇总。这两个操作在SQL语句中非常常见,...

Global site tag (gtag.js) - Google Analytics