mysql 日期,统计信息查看

实际工作中,我们经常需要做一些报表统计。这时候就需要查询本月的数据信息,前一天的数据信息,前一周的数据信息,前一个月的数据信息。


下面我们来看一下如何在mysql中做这些数据的筛选过滤。


test:表名 

datetime:时间字段名 

1. 获取当日的数据 

select * from test where to_days(datetime)= to_days(now()) 

SELECT * from test where datetime = DATE_SUB(CURDATE(),INTERVAL 1 DAY); 

2. 获取昨日的数据 

select * from test where to_days(now())-todays(datetime) <=1 

3. 获取当月的数据 

select * from test where date_format(datetime,'%Y%m') = date_format( curdate() ,'%Y%m') 

4. 查询上一个月的数据 

select * from test where period_diff(date_format(now(),'%Y%m'),date_format(datetime,'%Y%m')) =1 

5. 获取当季度的数据 

select * from test where quarter(datetime)=quarter(now()) 

6. 获取上一个季度的数据 

select * from test where quarter(datetime)=quarter(date_sub(now(),interval 1 quarter)) 

7. 查询当天某一时间段的数据 

select * from test where UNIX_TIMESTAMP( datetime) BETWEEN UNIX_TIMESTAMP(CURDATE())+3600*10 AND UNIX_TIMESTAMP(CURDATE())+3600*20


这些就是一些基本按照日期进行查询的sql语句。