sql 查询统计数据,获取7天内数据

1.查询最近7天的数据

SELECT * FROM t_record  
where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(createdtime)
ORDER BY createdtime desc

2.查询最近7天内有数据的天数内,每天多少条数据

select date_format(createdtime,'%Y-%m-%d') as data, 
count(1) as count 
from t_record 
where createdtime >= date(now()) - interval 7 day 
group by day(createdtime);

返回结果,只包含有数据的天数

3.统计最近7天每天数据数量,没有数据则利用ifnull 补0

SELECT a.date ,IFNULL(b.count,0) as count
FROM(
SELECT CURDATE() as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 1 day)as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 2 day)as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 3 day)as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 4 day)as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 5 day)as date
UNION ALL
SELECT DATE_SUB(CURDATE(),INTERVAL 6 day)as date
)a LEFT JOIN(
select date_format(createdtime,'%Y-%m-%d') as date, 
count(1) as count 
from t_record 
where createdtime >= date(now()) - interval 7 day 
group by day(createdtime)
)b on a.date = b.date
ORDER BY a.date desc

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值