mysql查询技巧

InterviewCoder

# mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据

# mysql 查询今天、昨天、7 天、近 30 天、本月、上一月 数据

今天 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 (时间字段名)

查询当前这周的数据
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;

近 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

查询距离当前现在 6 个月的数据
select name,submittime from enterprise where submittime between date_sub (now (),interval 6 month) and now (); #查询本季度数据 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));

# 关于我

Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!

InterviewCoder

非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!

评论