MySQL 按时间统计数据

1.统计当天数据量

select
	count(*)
from 
   表名
where to_days(时间字段名) = to_days(now())

2.统计昨天数据量

SELECT
	count(*)
FROM 
  表名
WHERE to_days(时间字段名) = to_days(now())-1

3.统计n天前的数据量

SELECT
	count(*)
FROM 
  表名
WHERE to_days(时间字段名) = to_days(now())-n

4.统计本周的数据量

select count(*) 
   from 表名
where 
   YEARWEEK(date_format(时间字段名,'%Y-%m-%d')) = YEARWEEK(now());

5.统计上周数据量

select count(*) 
   from 表名
where 
   YEARWEEK(date_format(时间字段名,'%Y-%m-%d')) = YEARWEEK(now())-1;

6.统计本月的数据

select count(*)  
  where 
date_format(时间字段名,'%Y-%m')=date_format(now(),'%Y-%m')

7.统计上个月的数据

SELECT  
  count(*) 
FROM 表名 
  WHERE 
YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;

8.统计近30天的数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

9.统计今年数据

SELECT count(*) FROM sp_content WHERE YEAR(crawled_time) = YEAR(NOW());

10.统计去年数据

SELECT count(*) FROM sp_content WHERE YEAR(crawled_time) = YEAR(NOW())-1;
相关文章
相关标签/搜索