1. 程式人生 > >Mysql 常用的時間查詢(周,月,季,年)

Mysql 常用的時間查詢(周,月,季,年)

一 查詢當日資料

1 select * from v2_goods_base_price as v2 where date(v2.created_at) = curdate();

2 select * from v2_goods_base_price as v2
where year(v2.created_at)=year(now()) 
and month(v2.created_at)=month(now()) 
and day(v2.created_at)=day(now());

3 select* from v2_goods_base_price as v2 where TO_DAYS(v2.created_at) = TO_DAYS(NOW());

二 查詢N天內的資料

SELECT * from v2_goods_base_price as v2 
where v2.created_at > '****-**-**' and v2.created_at <= date_add('****-**-**', INTERVAL N day);

三 查詢當前週數據

1 SELECT * FROM v2_goods_base_price as v2 
where MONTH(v2.created_at)=MONTH(NOW()) and year(v2.created_at)=year(now());

2 select * FROM
v2_goods_base_price as v2 where date_format(v2.created_at,'%Y-%m')=date_format(now(),'%Y-%m');
3 select * FROM v2_goods_base_price as v2 where MONTH(v2.created_at)=MONTH(NOW()) and year(v2.created_at)=year(now()); 4 select * FROM v2_goods_base_price as v2 where month(v2.created_at) = month(curdate())

四 查詢上週的資料

1 select * FROM v2_goods_base_price as v2 
 where WEEKOFYEAR(v2.created_at)=WEEKOFYEAR(DATE_SUB(now(),INTERVAL 1 week));

2 select * FROM v2_goods_base_price as v2
where v2.created_at>=date_add(now(),interval -(8 + weekday(now())) day) 
and v2.created_at<=date_add(now(),interval -(1 + weekday(now())) day);

五 查詢當前月資料

1 select  * FROM v2_goods_base_price as v2
where MONTH(v2.created_at)=MONTH(NOW()) and year(v2.created_at)=year(now());

2 select * FROM v2_goods_base_price as v2
where date_format(v2.created_at,'%Y-%m')=date_format(now(),'%Y-%m');

3 select * FROM v2_goods_base_price as v2
 where MONTH(v2.created_at)=MONTH(NOW()) and year(v2.created_at)=year(now());

4 select * FROM v2_goods_base_price as v2
 where month(v2.created_at) =  month(curdate());

六 查詢上月的資料

select  * FROM v2_goods_base_price as v2
where date_format(v2.created_at,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')

七 查詢近N個月資料

select * FROM v2_goods_base_price as v2
where v2.created_at between date_sub(now(),interval N month) and now();

八 查詢當前季度資料

SELECT * FROM v2_goods_base_price as v2
WHERE quarter( v2.created_at ) = quarter( curdate( ))

九 查詢上N個季度的資料

select * FROM v2_goods_base_price as v2
where QUARTER(created_at)=QUARTER(DATE_SUB(now(),interval N QUARTER));

十 查詢當前年份資料

SELECT * FROM v2_goods_base_price as v2
WHERE year( v2.created_at ) = year( curdate( ))

十一 查詢前N年的資料

select  * FROM v2_goods_base_price as v2
 where year(v2.created_at)=year(date_sub(now(),interval N year));

十二 查詢某月某年資料

Select * from 表名 where yeardate) =‘2017’;
Select * from 表名 where monthdate) =‘03’;