Home > Database > Mysql Tutorial > body text

MYSQL SQL How to query the data of the past 7 days and a month

PHPz
Release: 2023-05-26 20:52:37
forward
2588 people have browsed it

MYSQL SQL query for the past 7 days and one month's data

//今天
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( 时间字段名, &#39;%Y%m&#39; ) = DATE_FORMAT( CURDATE( ) , &#39;%Y%m&#39; )
//上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , &#39;%Y%m&#39; ) , date_format( 时间字段名, &#39;%Y%m&#39; ) ) =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,&#39;%Y-%m-%d&#39;)) = YEARWEEK(now());
//查询上周的数据
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,&#39;%Y-%m-%d&#39;)) = YEARWEEK(now())-1;
//查询上个月的数据
select name,submittime from enterprise where date_format(submittime,&#39;%Y-%m&#39;)=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),&#39;%Y-%m&#39;)
select * from user where DATE_FORMAT(pudate,&#39;%Y%m&#39;) = DATE_FORMAT(CURDATE(),&#39;%Y%m&#39;) ; 
select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,&#39;%y-%m-%d&#39;)) = WEEKOFYEAR(now()) 
select * from user where MONTH(FROM_UNIXTIME(pudate,&#39;%y-%m-%d&#39;)) = MONTH(now()) 
select * from user where YEAR(FROM_UNIXTIME(pudate,&#39;%y-%m-%d&#39;)) = YEAR(now()) and MONTH(FROM_UNIXTIME(pudate,&#39;%y-%m-%d&#39;)) = MONTH(now()) 
select * from user where pudate between 上月最后一天 and 下月第一天
//查询当前月份的数据
select name,submittime from enterprise where date_format(submittime,&#39;%Y-%m&#39;)=date_format(now(),&#39;%Y-%m&#39;)
Copy after login

Statistics for the past month SQL

select 
    user_id,
    user_name,
    createtime
from
    t_user
where
    DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(createtime);
Copy after login

Similarly, the past week is: INTERVAL 7 DAY.

Supplement: SQL statements in mysql query data today, yesterday, last 7 days, last 30 days, within a month, and last month

1. Data within a few hours

DATE_SUB(NOW(), INTERVAL 5 HOUR)
Copy after login

2.Today

select * from 表名 where to_days(时间字段名) = to_days(now());
Copy after login

3.Yesterday

select * from 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1;
Copy after login

4.7 days

select * from 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);
Copy after login

5.Last 30 days

select * from 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);
Copy after login

6.This Month

select * from 表名 WHERE DATE_FORMAT( 时间字段名, &#39;%Y%m&#39; ) = DATE_FORMAT( CURDATE( ) , &#39;%Y%m&#39; );
Copy after login

7、Previous month

select * from 表名 WHERE PERIOD_DIFF( date_format( now( ) , &#39;%Y%m&#39; ) , date_format( 时间字段名, &#39;%Y%m&#39; ) ) =1;
Copy after login

The above is the detailed content of MYSQL SQL How to query the data of the past 7 days and a month. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template