MySql按日期进行统计
1 数据库字段pk_time(Varchar)
当天的数据
SELECT * FROM 表 WHERE date(fk_time) = curdate();
当月的数据
SELECT *FROM 表 WHERE DATE_FORMAT(fk_time,'%Y%m')=DATE_FORMAT(CURDATE( ),'%Y%m')
昨天
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1
7天
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
近30天
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)
本月
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1
查询本季度数据
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(now());
查询上季度数据
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
查询本年数据
select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW());
查询上年数据
select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year));
查询当前这周的数据
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());
查询上周的数据
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;
查询当前月份的数据
select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')
查询距离当前现在6个月的数据
select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now();
2 时间段数据
id 为方法名,parameterType参数用map保存,resultType为返回对象 参数tj_start tj_end 提交开始和结束时间

<select id="方法名" parameterType="参数类型" resultType="返回类型">
select *from jw_order where 1=1
<if test="tj_start!= null and tj_start!=''">
AND submittime>=#{tj_start}
</if>
<if test="tj_end!=null and tj_end!=''">
AND submittime<=#{tj_end}
</if>
</select>

3 模糊查询sql(Mybatis)
<select id="方法" parameterType="参数类型" resultType="返回类型">
select *from 表名 where 1=1
AND 字段 LIKE CONCAT(CONCAT('%', #{参数}), '%')
</select>
MySql按日期进行统计(前一天、本周、某一天)

统计当天
sql语句为:
* user where date(log_time) = curdate();
curdate()默示当天日期
统计前一天
若是默示前一天的数据,则不克不及应用curdate()-1,因为当日期为月初时,curdate()-1 日期就不是上一个月的月末日期。
例如:今天是6月1日,理论上curdate()-1为5月31日,然则curdate()-1获得不是5月31日,而是6月0日。那么统计前一天的日期就不克不及应用curdate()-1了,mysql数据库又有一个新办法统计前一天的数据。
统计前一天的日记sql语句:
* bean where date(log_time) = date_sub(curdate(),interval 1 day);
括号中为当天时候的前一天,若是统计前几天就将括号中的’1’改成响应的天数。若是要算月或年,直接将day改为month或year即可
统计本周
请求: 统计从昨天开端统计前7天的日记包含昨天
* user where date(log_time) >= date_sub(curdate(),interval 7 day)
and date(log_time) <= date_sub(curdate(),interval 1 day)
在网上找的应用week统计一周信息,只能统计到5天的信息,不合适请求,所以改用这种办法。
统计某一天
统计汗青某一天的日记,将date_sub(curdate(),interval 0 day)函数中的curdate()调换为某一天的日期
比如:要统计2012-05-25日期的信息
date_sub(""2012-05-25"",interval 0 day)
关于date_sub()函数的例子:
今天是2013年5月20日。
date_sub(""2012-05-25"",interval 1 day) 默示 2012-05-24
date_sub(""2012-05-25"",interval 0 day) 默示 2012-05-25
date_sub(""2012-05-25"",interval -1 day) 默示 2012-05-26
date_sub(""2012-05-31"",interval -1 day) 默示 2012-06-01
date_sub(curdate(),interval 1 day) 默示 2013-05-19
date_sub(curdate(),interval -1 day) 默示 2013-05-21
date_sub(curdate(),interval 1 month) 默示 2013-04-20
date_sub(curdate(),interval -1 month) 默示 2013-06-20
date_sub(curdate(),interval 1 year) 默示 2012-05-20
date_sub(curdate(),interval -1 year) 默示 2014-05-20
如:
<!-- 分页查询订单个数 -->
<select id="queryOrderCountByCondition" resultClass="order">
select
count(*) as id
from
t_order_info<dynamic prepend="where">
<isNotNull prepend="and" property="companyId">
company_id = #companyId#
</isNotNull>
<isNotNull prepend="and" property="inMonth">
date_sub(CURDATE(), INTERVAL 1 MONTH) <= date(add_time)
</isNotNull>
<isNotNull prepend="and" property="productName">
id in (select id from t_order_info where id in(select order_id from t_order_product where product_id in(SELECT t_product.id FROM t_product where t_product.name=#productName#)))
</isNotNull>
<isNotNull prepend="and" property="orderDateBegin">
<![CDATA[ add_time >= #orderDateBegin#]]>
</isNotNull>
<isNotNull prepend="and" property="orderDateEnd">
<![CDATA[ add_time <= #orderDateEnd#]]>
</isNotNull>
</dynamic>
</select>
MySql按日期进行统计的更多相关文章
- mysql按日期分组统计数据
最近在做一个招聘网时,需要显示一个月内企业招聘信息的发布数量,按日期分组统计,刚开始是直接从源数据库表里面进行group by,但这样子就出现日期不连续的问题了,我想要的效果是,若当天没有数据,则显示 ...
- [MySQL] 按日期进行统计(前一天、本周、某一天)
在mysql数据库中,常常会遇到统计当天的内容.例如,在user表中,日期字段为:log_time统计当天 sql语句为: select * from user where date(log_time ...
- (转载)MySql按日期进行统计(前一天、本周、某一天)
(转载)http://www.yovisun.com/mysql-date-statistics.html 在mysql数据库中,常常会遇到统计当天的内容.例如,在user表中,日期字段为:log_t ...
- 记录一个mysql按日期分组统计的查询
http://blog.csdn.net/llwan/article/details/7738991
- MySQL按日期分组并统计截止当前时间的总数(实例教程)
MySQL按日期分组并统计截止当前时间的总数 建表语句 SET NAMES utf8mb4; ; -- ---------------------------- -- Table structure ...
- mysql生成日期的辅助表
为了解决mysql按日期分组查询统计的时候,没有数据补0.可以生成连续的时间表格来辅助查询* 生成按天的数据 * 每一个小时为一个分段 生成如下辅助表 *代码如下 CREATE TABLE num ( ...
- Mysql 时间日期函数运用与总结
Mysql 中的时间与日期常常会用到,但是每次都得找,这里结合工作日常总结一下. |--获取当前时间[正常时间] 1. MySQL 获得当前时间函数:current_timestamp, curren ...
- mysql插入日期 vs oracle插入日期
今天做oracle日期插入的时候突然开始疑惑日期是如何插入的. 用框架久了,反而不自己做简单的工作了.比如插入. 通常,新建一个表对象,然后绑定数据,前端form提交,后端getModel后直接mod ...
- MySQL:日期函数、时间函数总结
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...
随机推荐
- 加速scp传输速度
当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB ...
- virtio 简介
我的微信公众号 aCloudDeveloper 专注于云计算技术,互联网技术,生活感悟,打造干货分享平台,每周至少一更,欢迎小伙伴们多多关注! 什么是 virtio virtio 是一种 I/O 半虚 ...
- python网络数据采集(低音曲)
废话不多说,马上开始. 上次我们说到遍历单个域名,今天我们来写一个爬对应词条的脚本,他会遍历整个网址直到爬完对应词条. 代码: from urllib.request import urlopen f ...
- lambdas了解
Lambdas了解 功能接口的一个极其宝贵的特性是可以使用lambdas实例化它们.以下是一些关于lambdas的例子: 以逗号分隔的输入列表,左边是指定类型的输入,右边是返回的块: ...
- AtCoder Grand Contest 016
在雅礼和衡水的dalao们打了一场atcoder 然而窝好菜啊…… A - Shrinking 题意:定义一次操作为将长度为n的字符串变成长度n-1的字符串,且变化后第i个字母为变化前第i 或 i+1 ...
- c# excel 导入 与 导出(可直接用)
c#操作excel方式很多 采用OleDB读取EXCEL文件: 引用的com组件:Microsoft.Office.Interop.Excel.dll 读取EXCEL文件 将EXCEL文件转化成C ...
- C++ 初始化列表(转)
转载自:http://www.cnblogs.com/graphics/archive/2010/07/04/1770900.html 何谓初始化列表 与其他函数不同,构造函数除了有名字,参数列表和函 ...
- dedecsm系统(企业简介)类单栏目模版如何修改和调用整理
作者:佚名 字体:[增加 减小] 来源:互联网 时间:01-15 17:33:07 我要评论 我们的模版里应该都有article_article.htm这个模版;article_article.htm ...
- Vue版本过渡变化
到了2.0以后,有哪些变化: 在每个组件模板,不在支持片段代码 之前: <template id="aaa"> <h3>我是组件</h3>< ...
- dedecms首页调用软件下载地址
这段时间利用dedecms开发一个软件下载的网站,应客户需求,需要在网站首页调用软件下载地址.在网上查找了一些资料,都没有很好的解决这个问题,后来自己研究了一下,就将自己的方法跟大家共享一下.有不好的 ...