mysql 查询当天、本周,本月,上一个月的数据

yizhihongxing

要查询当天、本周、本月或上一个月的数据,可以使用MySQL中的DATE_FORMAT()函数和NOW()函数,结合WHERE子句进行过滤。

下面是一些示例说明:

1. 查询当天的数据

SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d');
  • table_name: 要查询的表名;
  • date_column: 存储日期的列名;
  • %Y-%m-%d: 格式化日期的字符串,按照年-月-日格式化;
  • NOW(): 返回当前的日期和时间。

上述代码使用了DATE_FORMAT()函数将日期格式化为年-月-日的字符串进行比较,与当天的日期做比较,以此筛选当天的数据。

2. 查询本周的数据

SELECT * FROM table_name WHERE WEEK(date_column) = WEEK(NOW());
  • table_name: 要查询的表名;
  • date_column: 存储日期的列名;
  • WEEK(): 返回日期所在年份的周数;
  • NOW(): 返回当前的日期和时间。

上述代码查询了本周的数据。通过将日期的周数与当前日期的周数进行比较,可以筛选出本周的数据。

3. 查询本月的数据

SELECT * FROM table_name WHERE YEAR(date_column) = YEAR(NOW()) AND MONTH(date_column) = MONTH(NOW());
  • table_name: 要查询的表名;
  • date_column: 存储日期的列名;
  • YEAR(): 返回日期所在年份;
  • MONTH(): 返回日期所在月份;
  • NOW(): 返回当前的日期和时间。

上述代码筛选了本月的数据。通过将日期的年份和月份与当前日期的年份和月份进行比较,可以筛选出本月的数据。

4. 查询上一个月的数据

SELECT * FROM table_name WHERE YEAR(date_column) = YEAR(CURDATE() - INTERVAL 1 MONTH) AND MONTH(date_column) = MONTH(CURDATE() - INTERVAL 1 MONTH);
  • table_name: 要查询的表名;
  • date_column: 存储日期的列名;
  • YEAR(): 返回日期所在年份;
  • MONTH(): 返回日期所在月份;
  • CURDATE(): 返回当前的日期;
  • INTERVAL 1 MONTH: 获取上一个月的日期。

上述代码使用CURDATE()函数获取当前日期,并使用INTERVAL 1 MONTH获取上一个月的日期。对于日期所在的年份和月份,分别与获取的上一个月的年份和月份进行比较,就可以筛选出上一个月的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql 查询当天、本周,本月,上一个月的数据 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL 账号密码错误终极解决方法

    下面我将为你详细讲解 “MySQL 账号密码错误终极解决方法” 的完整攻略。 一、查看账号密码是否正确 首先需要确认您输入的账号密码是否正确。可以使用如下命令进行登录: mysql -u 用户名 -p 出现 Enter password: 后再输入密码即可,如果登录成功则说明账号密码正确,否则请检查以下几点: 用户名是否正确。 密码是否正确。 二、确认 My…

    database 2023年5月18日
    00
  • 【Redis】windows下redis服务的安装

    https://github.com/MicrosoftArchive/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘redis文件夹下。   解压:   回到顶部 二、Redis临时服务 1.打开cmd,进入到刚才解压到的目录,启动…

    Redis 2023年4月12日
    00
  • 详解Redis实现限流的三种方式

    详解Redis实现限流的三种方式 什么是限流? 在分布式系统中,流量是一个非常重要的话题。当请求过多时,服务器会承受非常大的压力,并且有可能被拒绝服务。因此,为了保障系统的可用性,通常会对系统流量进行限制,这种机制被称为“限流”。 Redis如何实现限流? Redis是一个高性能的数据结构服务器,提供了丰富的数据类型和命令,可以实现诸如计数器、锁、缓存和队列…

    database 2023年5月22日
    00
  • Docker部署java项目的详细步骤(利用Dockerfile方式)

    下面我将详细讲解如何使用 Dockerfile 来部署 Java 项目的完整流程。 1.编写 Dockerfile 文件 首先,我们需要编写 Dockerfile 文件,这个文件包含了 Docker 镜像的构建规则和步骤。具体的内容可以参考下面的模板: # 基础镜像 FROM openjdk:8-jdk-alpine # 作者信息 MAINTAINER Yo…

    database 2023年5月22日
    00
  • SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值

    这个问题通常发生在使用SQL Server链接服务器调用存储过程时,参数为NULL值的场景下。下面是解决这一问题的完整攻略: 问题背景 使用SQL Server配置链接服务器,通过链接服务器调用存储过程时,参数传递NULL值会导致异常。 解决步骤 配置Linked Server 首先需要使用ODBC驱动配置Linked Server。这里假设我们已经配置好了…

    database 2023年5月21日
    00
  • oracle chm帮助文件下载

    下面是“oracle chm帮助文件下载”的完整攻略。 1. 确认下载版本 首先,你需要确认你需要下载的Oracle版本和类型,不同版本的Oracle可能需要下载不同的帮助文档。如果你想下载Oracle 12c的帮助文件,可以进入Oracle官网搜索对应版本的文档进行下载。 2. 下载帮助文件 Oracle官网提供了多种下载方式,例如通过MOS下载、通过Or…

    database 2023年5月21日
    00
  • 解决MySQL时区日期时差8个小时的问题

    当使用MySQL数据库时,常常会遇到时区日期时差8个小时的问题。这是由于MySQL默认使用UTC时区,而我们的应用程序可能使用其他时区,所以需要进行时区的转换。下面我详细介绍一下如何解决这个问题。 第一步:了解系统默认时区 通过以下命令可以查看系统的默认时区: timedatectl 其中,Time zone 行即为默认时区。例如: Time zone: A…

    database 2023年5月22日
    00
  • Mysql一些复杂的sql语句(查询与删除重复的行)

    查询与删除重复的行是一个经常出现的问题,在MySQL中可以通过多种方法来解决。下面我们将介绍一些复杂sql语句来处理这个问题。 1. 查询重复的行 要查询重复的行需要使用GROUP BY和HAVING语句进行筛选,以下是查询重复行的语法: SELECT column1, column2, …, columnN, COUNT(*) FROM table_n…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部