Mysql 统计数据查询整理,查询今日、昨日、近7天的数据
- 查询今日数据
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(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 表名 where quarter(时间字段) = quarter(now()); - 查询上季度数据
select * from 表名 where quarter( 时间字段 ) = quarter( date_sub(now() , interval 1 quarter)); - 查询本年数据
select * from 表名 where year(时间字段) = year(now()); - 查询上年数据
select * from 表名 where year(时间字段) = YEAR( date_sub(now(), interval 1 year)); - 查询当前这周数据
select * from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now()); - 查询上周数据
select * from 表名 where yearweek( date_format(时间字段,'%Y-%m-%d')) = yearweek(now())-1; - 查询上个月的数据
select * from 表名 where date_format(submittime,'%Y-%m') = date_format(date_sub(curdate(), interval 1 month),'%Y-%m') select * from 表名 where date_format(时间字段,'%Y%m') = date_format(curdate(),'%Y%m'); select * from 表名 where weekofyear(from_unixtime(时间字段,'%y-%m-%d')) = weekofyear(now()); select * from 表名 where month(from_unixtime(时间字段,'%y-%m-%d')) = month(now()); select * from 表名 where year(from_unixtime(时间字段,'%y-%m-%d')) = year(now()) and month(from_unixtime(时间字段,'%y-%m-%d')) = month(now()); select * from 表名 where 时间字段 between 上月最后一天 and 下月第一天; - 查询当前月份的数据
select * from 表名 where date_format(时间字段,'%Y-%m') = date_format(now(),'%Y-%m'); - 查询距离现在6个月内的数据
select * from 表名 where 时间字段 between date_sub(now(), interval 6 month) and now(); - 查询10分钟以内的数据
select * from 表名 where 时间字段 >= current_timestamp - interval 10 minute;
本文来自博客园,作者:Carvers,转载请注明原文链接:https://www.cnblogs.com/carver/articles/17106032.html

浙公网安备 33010602011771号