Content

MYSQL?SQL查询近7天一个月的数据的操作方法(sql查询近七天的数据怎么查)难以置信

文章摘要

这篇文章介绍了通过SQL语句从数据库中查询不同时间范围的数据。文章详细列出了查询各种时间段的示例,包括: 1. **最近1天**:`WHERE TO_DAYS( 时间字段名)=TO_DAYS(now())` 2. **最近7天**:`WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=date(时间字段名)` 3. **最近30天**:`WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <=date(时间字段名)` 4. **本月**:`WHERE DATE_FORMAT( 时间字段名, '%Y%m' )=DATE_FORMAT( CURDATE( ) , '%Y%m' )` 5. **上月**:`WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) )=1` 6. **本季度**:`WHERE QUARTER(create_date)=QUARTER(now())` 7. **上季度**:`WHERE QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER))` 8. **本年**:`WHERE YEAR(create_date)=YEAR(NOW())` 9. **上年**:`WHERE year(create_date)=year(date_sub(now(),interval 1 year))` 10. **当前周**:`WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now())` 11. **上周**:`WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now())-1` 12. **上个月**:`WHERE date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')` 13. **用户信息**:包括日期格式、月份、季度、年份、周数、月份组合、日期区间查询等。 文章通过这些查询,展示了如何根据不同的时间范围进行数据筛选和分析,适用于需要根据时间维度进行数据统计和报表的场景。

//今天 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 `ht_invoice_information` where QUARTER(create_date)=QUARTER(now()); //查询上季度数据 select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER)); //查询本年数据 select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW()); //查询上年数据 select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year)); //查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,’%Y-%m-%d’))=YEARWEEK(now()); //查询上周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,’%Y-%m-%d’))=YEARWEEK(now())-1; //查询上个月的数据 select name,submittime from enterprise where date_format(submittime,’%Y-%m’)=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),’%Y-%m’) select * from user where DATE_FORMAT(pudate,’%Y%m’)=DATE_FORMAT(CURDATE(),’%Y%m’) ; select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,’%y-%m-%d’))=WEEKOFYEAR(now()) select * from user where MONTH(FROM_UNIXTIME(pudate,’%y-%m-%d’))=MONTH(now()) select * from user where YEAR(FROM_UNIXTIME(pudate,’%y-%m-%d’))=YEAR(now()) and MONTH(FROM_UNIXTIME(pudate,’%y-%m-%d’))=MONTH(now()) select * from user where pudate between 上月最后一天 and 下月第一天 //查询当前月份的数据 select name,submittime from enterprise where date_format(submittime,’%Y-%m’)=date_format(now(),’%Y-%m’)