MySQL查询今天、昨天、本月、上月等数据

注:数据表中需要一个存储日期时间的字段,本文中create_time存储的数据均为时间戳

查询今天的数据

select * from table_name where TO_DAYS(FROM_UNIXTIME(create_time)) = TO_DAYS(NOW())

查询昨天的数据

SELECT * FROM table_name WHERE TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(create_time)) = 1

查询近7天的数据(包含今天)

SELECT * FROM table_name WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= FROM_UNIXTIME(create_time)

查询本周的数据

SELECT * FROM table_name WHERE YEARWEEK(FROM_UNIXTIME(create_time,'%Y-%m-%d')) = YEARWEEK(NOW());

查询上周的数据

SELECT * FROM table_name WHERE YEARWEEK(FROM_UNIXTIME(create_time,'%Y-%m-%d')) = YEARWEEK(NOW())-1;

查询近30天的数据(包含今天)

SELECT * FROM table_name where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= FROM_UNIXTIME(create_time)

查询本月的数据

SELECT * FROM table_name WHERE FROM_UNIXTIME(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')

查询上月的数据

SELECT * FROM table_name WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'), FROM_UNIXTIME(create_time,'%Y%m')) = 1

查询本季度的数据

SELECT * FROM table_name WHERE QUARTER(FROM_UNIXTIME(create_time))=QUARTER(NOW()) AND YEAR(FROM_UNIXTIME(create_time))=YEAR(NOW())

查询上季度的数据

SELECT * FROM table_name WHERE QUARTER(FROM_UNIXTIME(create_time)) = QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER)) AND YEAR(FROM_UNIXTIME(create_time))=YEAR(NOW())

查询今年的数据

SELECT * FROM table_name WHERE YEAR(FROM_UNIXTIME(create_time))=YEAR(NOW())

查询去年的数据

SELECT * FROM table_name WHERE YEAR(FROM_UNIXTIME(create_time)) = YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值