常用计算日期的函数 日 date(日期) = CURDATE() 自然周 YEARWEEK(date_format(日期,'%Y-%m-%d') , 1) = YEARWEEK(now() , 1) 月 DATE_FORMAT( 日期, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 计算周的原理 MySql计算周的函数有两个,一个是YEARWEEK(date, mode)一个是WEEK(date, mode) 他们的原理都是通过计算当前日期是属于一年…
1.查询当天的数据 select * from 表名 where TO_DAYS(时间字段)=TO_DAYS(NOW()); 2.查询当周的数据 select * from 表名 where YEARWEEK(DATE_FORMAT(时间字段,'%Y-%m-%d'))=YEARWEEK(NOW()); 3.查询当月的数据 select * from 表名 where DATE_FORMAT(时间字段,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m'); 4.查询昨天的数据…
MySQL查询近一个月的数据 近一个月统计SQL select user_id, user_name, createtime from t_user where DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(createtime); 同理,近一个星期为: INTERVAL 7 DAY. @完…
如果你要严格要求是某一年的,那可以这样 查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where date(column_time) = curdate(); 查询一周: DAY) <= date(column_time); 查询一个月: select * from table where DATE_SUB(CURDATE(), INTERVAL 1 MONTH…
select * from wap_content where week(created_at) = week(now) 如果你要严格要求是某一年的,那可以这样 查询一天: select * from table where to_days(column_time) = to_days(now());select * from table where date(column_time) = curdate(); 查询一周: select * from table where DATE_SUB(C…
mysql查询本季度 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 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(CURDA…
SELECT HOUR(e.time) as Hour,count(*) as Count FROM error_log e WHERE e.date = '2017-09-02' GROUP BY HOUR(e.time) ORDER BY Hour(e.time); 下面是查询结果截图 在另一篇文章里,我总结了查询每半小时统计一次的方法.Mysql 查询一天中每半小时记录的数量…
#查询本周记录 select * from product_process where WEEKOFYEAR(update_time)=WEEKOFYEAR(now()); #查询本月数据 select * from product_process where MONTH(update_time)=MONTH(NOW()) and year(update_time)=year(now()); #查询本季度数据 select * from product_process where QUARTER…
最近一个月 SELECT * FROM table WHERE DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(time); 本月.当前月 SELECT * FROM table WHERE DATE_FORMAT(o.createTime,'%Y-%m') = DATE_FORMAT(CURDATE(),'%Y-%m'); 上个月 SELECT * FROM table WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y-…
一.mysql按日统计 ) count ' and start_time > '2017-06-28' group by days; 二.mysql按周统计 ) ' group by weeks; 三.mysql按月统计 ) ' group by months; 四.方便的场景 这对于数据量不大的表非常有效. 如:按月统计某员工的迟到情况啦等等. 五.大量的数据 例如每天产生20W数据,执行这个按天统计一年是很夸张的事情. 我能想到的办法就是: [分时统计] 1. 历史数据是不变的 2. 指定时…