`
xiao_feng68
  • 浏览: 100430 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Mysql 根据日期分组查询

阅读更多

今天无聊从网上找了点sql查询,发现一个很实用的一个sql和大家分享一下;主要用于天、周、月、季、年等时间分组时用

Mysql按天分组(按日分组)

select day (日期字段), SUM( 用于合计的字段)from 表group by day (日期字段)
 
 

一、年度查询
查询 本年度的数据
SELECT *
FROM blog_article
WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))


二、查询季度数据
查询数据附带季度数
SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) ) 
FROM `blog_article`
其他的同前面部分:
查询 本季度的数据
SELECT *
FROM blog_article
WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))



三、查询月度数据
本月统计(MySQL)
select * from booking where month(booking_time) =

month(curdate()) and year(booking_time) = year(curdate())

本周统计(MySQL)

select * from spf_booking where month(booking_time) =

month(curdate()) and week(booking_time) = week(curdate())


四、时间段

N天内记录

WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段) <= N

当天的记录

 

where date(时间字段)=date(now())

where to_days(时间字段) = to_days(now());

查询一周:
select * from table   where DATE_SUB(CURDATE(), INTERVAL 7 DAY<= date(column_time);

查询一个月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH<= date(column_time);

 

 

查询'06-03'到'07-08'这个时间段内所有过生日的会员:

 

 

   Select * From user Where

DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d')

<= '07-08';


统计一季度数据,表时间字段为:savetime 
group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))

select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3+1,count(*)

 

from yourTable

group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3+1;

五、分组查询
     
   1、年度分组

   2、月度分组

   3、先按年度分组,再按月度分组

   4、按年月分组
   SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate  FROM `blog_article` group by sdate

分享到:
评论

相关推荐

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

    MySql实现分组取n条最大记录,还在为分组取最大困扰么?

    mysql只返回时间的时分秒,并且根据小时分组

    下面用group by分组如果遇到这个错误: this is incompatible with sql_mode=only_full_group_by 那么在此执行这两句 select @@global.sql_mode; set sql_mode = (SELECT REPLACE(@@sql_mode, ‘ONLY_FULL_GROUP_BY...

    MYSQL

    8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从"双胞项目"中查询 ...

    MySQL中文参考手册.chm

    8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从"双胞项目"中...

    mysql入门.md

    MYSQL数核心技术,数据库的安装,SQL的语言分类##### 、数学函数 ``` round 四舍五入 rand 随机数 floor向下取整 ceil向上取整 mod取余 truncate截断 ##### 3、日期函数 ...### 进阶5:分组查询

    Mysql出生日期转换为年龄并分组统计人数的方法示例

    查询数据库 SELECT * FROM `student` 查询结果 id name birthday 1 张三 1970-10-01 2 李四 1990-10-01 3 王五 2002-10-01 4 马六 2003-10-01 转换为年龄的查询语句,使用函数TIMESTAMPDIFF ...

    MySQL中文参考手册

    * 1 MySQL的一般的信息 o 1.1 什么是MySQL? o 1.2 关于本手册 + 1.2.1 本手册中使用的约定 o 1.3 MySQL的历史 o 1.4 MySQL的主要特征 o 1.5 MySQL稳定性? o 1.6 顺应2000年 o 1.7 SQL一般信息和教程 o ...

    MySQL 5权威指南(第3版) 中文版 下载地址

     9.7 分组查询,统计函数(GROUP BY)  9.8 修改数据(INSERT、UPDATE和DELETE)  9.9 创建数据表、数据库和索引  第10章 SQL解决方案  10.1 字符串  10.2 日期和时间  10.3 ENUM和SET数据类型  10.4...

    MYSQL培训经典教程(共两部分) 1/2

    select语句插入 66 3.5.4 使用LOAD语句批量录入数据 66 3.5.5 总结 68 3.6 查询数据表中的记录 69 3.6.1 普通查询 69 3.6.2 条件查询 71 3.6.3 查询排序 73 3.6.4 查询分组与行计数 75 ...

    MySQL命令大全

    3.DATE 日期类型:支持的范围是-01-01到-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5...

    mysql数据库的基本操作语法

    MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息; 约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 常用五类约束: ...

    mysql 将字段time按天/月/年分组

    原理:convert函数将时间戳转换成ODBC标准时间(120参数指定),然后取前十位,则刚好得到完整日期(不含时分秒),再分组即可。 按月,按年分组方法一样,只需要修改convert()方法第一个参数的长度。 您可能感兴趣的...

    Mysql中时间戳转为Date的方法示例

    日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据. 当然你可以选择在业务层先将传入的日期转为时间戳,再去进行查询,但是既然mysql...

    MYSQL常用命令大全

    3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的...

    mysql基础入门课程

    14. 基础-SQL-DQL-分组查询 15. 基础-SQL-DQL-排序查询 16. 基础-SQL-DQL-分页查询 17. 基础-SQL-DQL-执行顺序 18. 基础-SQL-DCL-用户管理- 19. 基础-SQL-DCL-权限控制- 20. 基础-函数-字符串函数 21. 基础-函数-...

    MySQL5 权威指南第3版中文版_part1

     9.7 分组查询,统计函数(GROUP BY)  9.8 修改数据(INSERT、UPDATE和DELETE)  9.9 创建数据表、数据库和索引  第10章 SQL解决方案  10.1 字符串  10.2 日期和时间  10.3 ENUM和SET数据类型  10.4 变量与...

    MYsql 数据库0基础SQL语句实战精讲.docx

    4. 分组查询 15 5. 条件查询 19 1、按关系表达式筛选 20 2、按逻辑表达式筛选 20 3、模糊查询 20 6. 分组函数 25 7. 连接查询 27 1、sql92标准:仅仅支持内连接 27 2、sql99标准【推荐】:支持内连接+外连接(左外和...

    PHP和MySQL Web开发第4版pdf以及源码

    1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif语句 1.14.5 switch语句 1.14.6 比较不同的条件 1.15 通过迭代实现重复动作 1.15.1 while循环 1.15.2 for和foreach循环 ...

    MySQL 入门学习 ——基础教程

    此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。 结果说明mysql命令的大小写结果是一致的。 练习如下操作: mysql&gt;Select (20+5)*4; mysql&gt;Select (20+5)*4,sin...

Global site tag (gtag.js) - Google Analytics