mysql之实现查询当天的数据

 更新时间:2025年09月13日 13:40:00   作者:_江屿_  
文章总结了数据库时间范围查询及统计方法,涵盖当日、昨日、近7天、本月、上月、季度、年度等场景,强调使用复合索引优化查询速度,避免全表扫描,同时涉及按周/日/月统计、时间间隔计算及跨年数据查询策略

1.查询当天数据

  • 第一种:数量小的时候用,数据量稍微起来巨慢
select 字段 from 表名 where to_days(时间字段) = to_days(now());
  • 第二种:速度快
select 字段 from 表名 where 时间字段 BETWEEN CONCAT(CURDATE(),' 00:00:00') AND CONCAT(CURDATE(),' 23:59:59');

最好配合复合索引来查,避免全表扫描

2.查询昨天的数据

SELECT * FROM `day_sell` WHERE TO_DAYS(NOW()) - TO_DAYS(sell_time) <= 1

3.查询最近7天的(包含7天总计7天)

#7天的数据
SELECT * FROM `day_sell` WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) < DATE(sell_time);
 
SELECT * FROM day_sell WHERE YEARWEEK(DATE_FORMAT(sell_time,'%Y-%m-%d')) = YEARWEEK(NOW());
 
#上周的数据
SELECT * FROM day_sell WHERE YEARWEEK(DATE_FORMAT(sell_time,'%Y-%m-%d')) = YEARWEEK(NOW()) -1;

4.查询本月的数据

SELECT * FROM `day_sell` WHERE DATE_FORMAT(sell_time,'%Y-%m')= DATE_FORMAT(CURDATE(),'%Y-%m')

5.查询上个月的数据

SELECT * FROM day_sell WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'),DATE_FORMAT(sell_time,'%Y%m')) = 1;

6.查询上季度

SELECT * FROM day_sell WHERE QUARTER(sell_time) = QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER));

7.查询本季度

SELECT * FROM `day_sell` WHERE QUARTER(sell_time) = QUARTER(NOW())

8.查询今年的数据

SELECT * FROM `day_sell` WHERE YEAR(sell_time) = YEAR(NOW())

9.计算两个时间间隔-天

SELECT DATEDIFF('2020-10-29','2020-10-28') AS days;

10.按周统计

SELECT DATE_FORMAT(sell_time,'%Y%u') weeks,COUNT(sell_time) COUNT FROM `day_sell` GROUP BY weeks;

11.按天统计

SELECT DATE_FORMAT(sell_time,'%Y%m%d') days,COUNT(sell_time) COUNT FROM day_sell GROUP BY days;

12.按月统计

SELECT DATE_FORMAT(sell_time,'%Y%m') months,COUNT(sell_time) COUNT FROM day_sell GROUP BY months;

13.查询去年

SELECT * FROM day_sell WHERE YEAR(sell_time) = YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR));

14.查询近6个月的数据

SELECT * FROM day_sell WHERE sell_time BETWEEN DATE_SUB(NOW(),INTERVAL 6 MONTH) AND NOW();

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SQL中日期与字符串互相转换操作实例

    SQL中日期与字符串互相转换操作实例

    我们经常出于某种目的需要使用各种各样的日期格式,当然我们可以使用字符串操作来构造各种日期格式,下面这篇文章主要给大家介绍了关于SQL中日期与字符串互相转换操作的相关资料,需要的朋友可以参考下
    2022-10-10
  • 解析MySQL中mysqldump工具的基本用法

    解析MySQL中mysqldump工具的基本用法

    本篇文章是对MySQL中mysqldump工具的基本用法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 关于mysql调用新手们常犯的11个错误总结

    关于mysql调用新手们常犯的11个错误总结

    对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面这篇文章就来总结了关于mysql调用新手们常犯的十一个错误,需要的朋友可以参考学习。
    2017-03-03
  • MySQL入门(四) 数据表的数据插入、更新、删除

    MySQL入门(四) 数据表的数据插入、更新、删除

    这篇文章主要介绍了mysql数据库中表的插入、更新、删除非常简单,但是简单的也要学习,细节决定成败,需要的朋友可以参考下
    2018-07-07
  • 超简单的qps统计方法(推荐)

    超简单的qps统计方法(推荐)

    下面小编就为大家带来一篇超简单的qps统计方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 揭开SQL中NULL的神秘面纱

    揭开SQL中NULL的神秘面纱

    表的字段默认允许存放NULL值,这意味着,您在插入记录或者更新记录时,可以不为该字段指定值,此时该字段将存储NULL值,这篇文章将揭开SQL中NULL的神秘面纱。这个问题可能困扰着很多初级开发者
    2023-01-01
  • HeidiSQL工具导出导入MySQL数据

    HeidiSQL工具导出导入MySQL数据

    这篇文章主要为大家详细介绍了HeidiSQL工具导出导入MySQL数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • MySQL中IO问题的深入分析与优化

    MySQL中IO问题的深入分析与优化

    据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为,下面这篇文章主要给大家介绍了关于MySQL中IO问题的深入分析与优化的相关资料,需要的朋友可以参考下
    2022-04-04
  • MySQL关键字explain的用法详解

    MySQL关键字explain的用法详解

    MySQL 的 EXPLAIN 是一个用于查询优化的关键字。它用于分析和评估查询语句的执行计划,帮助开发者理解查询语句的性能问题以及优化查询的方式,所以本文就给大家详细的介绍一下MySQL关键字explain的用法,需要的朋友可以参考下
    2023-07-07
  • MySQL外键约束的删除和更新总结

    MySQL外键约束的删除和更新总结

    这篇文章主要给大家总结MySQL外键约束的删除和更新,文中通过代码示例和图文介绍的非常详细,对大家了解MySQL外键约束有一定的帮助,需要的朋友可以参考下
    2024-02-02

最新评论