MySQL 查询当天、周、月,最近一周、一月的数据,以及当年每月的统计数据

最近在做项目的时候,需要查询当月数据,就整理类似的这些语句,希望对大家有所帮助

  1.  
    ---以下例子时间字段默认为时间格式,如时间字段存储格式为时间戳,需如下处理:
  2.  
    from_unixtime(`时间字段`)
  • 查询当天数据:
SELECT * FROM 表名 WHERE TO_DAYS(表中时间字段) = TO_DAYS(NOW());
  • 查询当周数据:
SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(表中时间字段,‘%Y-%m-%d’)) = YEARWEEK(NOW());
  • 查询当月数据:
 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(表中时间字段,‘%Y-%m’)) = DATE_FORMAT(CURDATE(),'%Y-%m');
  • 查询最近一周数据:
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(),INTERVAL 1 WEEK) <= DATE(表中时间字段);
  • 查询最近一月内的数据:
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= DATE(表中时间字段);
  • 查询当年每月的统计数据:
SELECT MONTH(`表中日期字段`), COUNT(*) FROM `表名` WHERE YEAR(CURDATE()) GROUP BY MONTH(`表中日期字段`)
posted @ 2020-02-02 23:21  阿波罗任先生  阅读(2783)  评论(0编辑  收藏  举报