MySQL时间查询讲解+实战教学(查询本月、上个月、下个月等等的数据)

news2025/1/22 19:38:52

MySql时间查询

MySql查询当前时间

  • 查询 年-月-日 时:分:秒
    select now()

在这里插入图片描述

  • 查询 年-月-日
    select DATE(CURDATE())

在这里插入图片描述

  • 查询 年-月
    select date_format(NOW(),'%Y-%m')

在这里插入图片描述

  • 查询当前年
    select YEAR(CURDATE())

在这里插入图片描述

  • 查询当前月
    select MONTH(CURDATE())

在这里插入图片描述

  • 查询当前日
    select DAYOFMONTH(NOW())

在这里插入图片描述

  • 查询当前星期几
    select dayofweek(NOW()) -1

在这里插入图片描述

  • 查询当前季度
    select QUARTER(now())

在这里插入图片描述

  • 查询 时:分:秒
    select current_time()

在这里插入图片描述

  • 万能公式:DATE_FORMAT
    select DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%s')

在这里插入图片描述

MySql查询上一年、上一个月、上一个星期…

  • 查询昨天的数据
    select * from test as 'time' where time.update_time <DATE_SUB(CURDATE(), INTERVAL 1 DAY)

  • 查询当前这周的数据

    select * from test as 'time' where time.update_time<DATE_SUB(CURDATE(), INTERVAL 0 WEEK)

    select * FROM test as 'time' where YEARWEEK(date_format(time.update_time,’%Y-%m-%d’)) = YEARWEEK(now())

  • 查询上一周的数据
    select * from test as 'time' where time.update_time<DATE_SUB(CURDATE(), INTERVAL 1 WEEK)

    select * FROM test as 'time' WHERE YEARWEEK(date_format(time.update_time,’%Y-%m-%d’)) = YEARWEEK(now())-1

  • 查询上一个月的数据
    select * from test as 'time' where time.update_time<DATE_SUB(CURDATE(), INTERVAL 1 MONTH)

  • 查询近两个月的数据(INTERVAL后面的数字改一下就可以了)
    select * from test as 'time' where time.update_time<DATE_SUB(CURDATE(), INTERVAL 2 MONTH)

  • 查询上一年的数据
    select * from test as 'time' where time.update_time<DATE_SUB(CURDATE(), INTERVAL 1 YEAR)

  • 查询距离当前现在6个月的数据

    select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now();

MySql查询本年、本月、本周…

  • 查询今天的数据
    select * from test as time where to_days(time.update_time ) =to_days(now());

  • 查询本周的数据
    select * FROM test as time WHERE YEARWEEK(date_format(time.update_time ,'%Y-%m-%d')) = YEARWEEK(now());

  • 查询本月的数据
    select * FROM test as time WHERE DATE_FORMAT(time.update_time , '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

  • 查询本季度的数据
    select * from test as time where QUARTER(time.update_time)=QUARTER(now());

  • 查询本年的数据
    select * from test as time where YEAR(time.update_time)=YEAR(NOW());

实战:生成这样的一个数据表,根据月份来输出值

在这里插入图片描述

有两个关键的数据,一个是月份,一个是数据,我们要的效果,每个月累加(比如6月份有一个人,但7月份没有,但是是累加的,所以7月份有一个,12月份新增三个,所以总共是4)

在这里插入图片描述

思考:

第一点:月份:要通过本月来向前面递减,重点用UNION连接函数

	-- 近1个月
    SELECT DATE_FORMAT( CURDATE( ), '%Y-%m' ) AS `month` UNION
    -- 近2个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近3个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近N个月,N等于"INTERVAL 5 MONTH"中间的数值`5`加`1`,此处N=6
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 5 MONTH ), '%Y-%m' ) AS `month`

在这里插入图片描述

整理一下,因为后续我们还连接数据,所以要用v来指代这个数据

SELECT  CONCAT(RIGHT(v.`month`,2),'月') AS `time`
FROM
    (
    -- 近1个月
    SELECT DATE_FORMAT( CURDATE( ), '%Y-%m' ) AS `month` UNION
    -- 近2个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近3个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近N个月,N等于"INTERVAL 5 MONTH"中间的数值`5`加`1`,此处N=6
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 5 MONTH ), '%Y-%m' ) AS `month`
    ) 
AS v

在这里插入图片描述

第二点:数据:计算近六个月的数据(如下)

 SELECT DATE_FORMAT(a.create_time, '%Y-%m') AS `month`,COUNT( * ) AS `count`
      FROM `user` AS a
      -- 计算近六个月的时间     
      WHERE DATE_FORMAT(a.create_time, '%Y-%m') > DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 6 MONTH ), '%Y-%m')
      -- 补充查询匹配条件
      AND a.is_deleted = 1
      GROUP BY `month`

在这里插入图片描述

但是这样是不对的,这个是分别查询六个月的数据,不是累加的(需要这种的朋友上面代码自取),所以我们要改一下思路

SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 0 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
-- 计算12月及其之前的时间 (现在2022年12月份 DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m') = 2022-11)
-- 这是是需要计算 一月份之前,要包含12月份
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL -1 MONTH ), '%Y-%m')
-- 补充查询匹配条件
AND a.is_deleted = 1

在这里插入图片描述

好了,但这只有一条数据,我们需要再累加一下

SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 0 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
-- 计算12月及其之前的时间 (现在2022年12月份 DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m') = 2022-11)
-- 这是是需要计算 一月份之前,要包含12月份
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL -1 MONTH ), '%Y-%m')
-- 补充查询匹配条件
AND a.is_deleted = 1 AND a.jurisdiction = 2 UNION
-- 下面都是cv了,sql没想到什么好的办法,但在mybatis中可以优化,之后我会讲到
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 0 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 5 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2

在这里插入图片描述

把之前的结合一下

SELECT  IFNULL( b.count, 0 ) AS `count`,CONCAT(RIGHT(v.`month`,2),'月') AS `time`
FROM
    (
    -- 近1个月
    SELECT DATE_FORMAT( CURDATE( ), '%Y-%m' ) AS `month` UNION
    -- 近2个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近3个月
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m' ) AS `month` UNION
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m' ) AS `month` UNION
    -- 近N个月,N等于"INTERVAL 5 MONTH"中间的数值`5`加`1`,此处N=6
    SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL 5 MONTH ), '%Y-%m' ) AS `month`
    ) 
AS v LEFT JOIN
      (
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 0 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
-- 计算12月及其之前的时间 (现在2022年12月份 DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m') = 2022-11)
-- 这是是需要计算 一月份之前,要包含12月份
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL -1 MONTH ), '%Y-%m')
-- 补充查询匹配条件
AND a.is_deleted = 1 AND a.jurisdiction = 2 UNION
-- 下面都是cv了,sql没想到什么好的办法,但在mybatis中可以优化,之后我会讲到
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 0 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 1 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 2 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 3 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2 UNION
SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL 5 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
FROM `user` AS a
WHERE DATE_FORMAT(a.create_time, '%Y-%m') < DATE_FORMAT(( CURDATE( ) - INTERVAL 4 MONTH ), '%Y-%m')
AND a.is_deleted = 1  AND a.jurisdiction = 2
AND a.is_deleted = 1  AND a.jurisdiction = 2
      ) AS b 
    ON v.`month` = b.`month`
GROUP BY `time` ORDER BY `time` ASC

在这里插入图片描述

放入mybatis中优化一下

实体类:

@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class PeopleCountVO {
    private Integer count;
    private String time;

    private Integer jurisdiction;
    private List<Integer> math;
}

xml:根据math的数据动态的修改,比如math=[1,2,3,4,5,6,7,8,9,10,11,12],就是查询12个月的数据

    <select id="peopleCount" parameterType="com.zhao.pojo.vo.PeopleCountVO" resultType="com.zhao.pojo.vo.PeopleCountVO">
        SELECT  IFNULL( b.count, 0 ) AS `count`,v.`month` AS `time`
        FROM
        (
            -- 查询 近六个月
            <foreach  collection="people.math" separator=" UNION " item="item">
                SELECT DATE_FORMAT( ( CURDATE( ) - INTERVAL #{item} - 1 MONTH ), '%Y-%m' ) AS `month`
            </foreach>
        )
        AS v LEFT JOIN
        (
            <foreach collection="people.math" separator=" UNION " item="item">
                SELECT DATE_FORMAT(( CURDATE( ) - INTERVAL #{item}-1 MONTH ), '%Y-%m') AS `month`,COUNT( * ) AS `count`
                FROM `user` AS a
                -- 小于符号 在xml中会报错 使用 &lt; 转义一下
                WHERE DATE_FORMAT(a.create_time, '%Y-%m') &lt; DATE_FORMAT(( CURDATE( ) - INTERVAL #{item}-2 MONTH ), '%Y-%m')
                -- 补充查询匹配条件
                AND a.is_deleted = 1 AND a.jurisdiction = #{people.jurisdiction}
            </foreach>
        ) AS b
        ON v.`month` = b.`month`
        GROUP BY `time` ORDER BY `time` ASC
    </select>

参考文章:数据库查询当前时间大全(MySQL、Oracle、Sqlserver)_小豆的编程世界…的博客-CSDN博客_数据库时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文简述】Efficient Multi-view Stereo by Iterative Dynamic Cost Volume(CVPR 2022)

一、论文简述 1. 第一作者&#xff1a;Shaoqian Wang、Bo Li 2. 发表年份&#xff1a;2022 3. 发表期刊&#xff1a;CVPR 4. 关键词&#xff1a;MVS、深度学习、动态代价体、GRU、迭代优化 5. 探索动机&#xff1a;由于正则化步骤需要较多的GPU内存和处理时间&#xff0c…

大话JMeter4|不同的并发数可以自动化做压测吗?

1080709 23.5 KB 上节课爱画漫画的小哥哥用漫画形式向大家展示了JMeter的进阶用法&#xff1a;如何搭建InfluxDB&#xff0c;使用更炫酷的Grafana。 看到很多小伙伴觉得看的不过瘾&#xff0c;在强烈的催促下&#xff0c;小哥哥的新文章又出来了。这次小哥哥又给我们带来怎样的…

vue + nodejs + npm

node.js下载 1、如图所示&#xff1a; 2、建立node_cache、node_global文件夹&#xff1a; 然后运行以下2条命令 npm config set prefix “D:\node-v14.15.0-win-x64\node_global” npm config set cache “D:\node-v14.15.0-win-x64\node_cache” 执行npm list -global查看&…

编译原理——求短语、直接短语(简单短语)、素短语、句柄

先介绍一下短语、直接短语&#xff08;简单短语&#xff09;、素短语、句柄怎么求&#xff1a;这个图是核心 然后通过一些例题&#xff0c;实战一下&#xff1b; 根据上面介绍的概念、求法&#xff0c;应用一下即可&#xff1b; 例题1 短语&#xff1a;注意对于每一个子树&a…

数字孪生技术助力高炉数字化建设的可行性

随着数字孪生等新一代信息技术的快速发展&#xff0c;数字化转型已成为企业重塑竞争优势的关键举措。依托数字孪生技术&#xff0c;对炼铁高炉进行物联网、数字化信息系统建设&#xff0c;实现了高炉运行状态的数字化监测与预警&#xff0c;数字孪生系统凭借在数字化、模型化、…

利用WordPress搭建属于自己的网站

怎么用WordPress给自己搭建了一个网站&#xff1f;可能很多人都想拥有属于自己的网站&#xff0c;这篇文章就找你怎么利用WordPress搭建属于自己的网站。如果你也正好有搭建个人网站的想法&#xff0c;那么本文会给你一个参考&#xff0c;我尽量写的比较详细&#xff0c;给自己…

【Ctfer训练计划】——(五)

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

Java on VS Code 11月更新|VS Code Java 开发者超200万!

作者&#xff1a;Nick Zhu - Senior Program Manager, Developer Division at Microsoft 排版&#xff1a;Alan Wang 大家好&#xff0c;我们很高兴与大家分享一个好消息&#xff0c;现在 Visual Studio Code 上已有超过 200 万 Java 开发者&#xff0c;这离不开长期以来社区以…

JavaSE笔记——异常、断言

文章目录前言一、处 理 错 误1.异常分类2.声明受查异常3.如何抛出异常4.创建异常类二、捕获异常1.捕获异常2.捕获多个异常3.再次抛出异常与异常链4.finally 子句5.带资源的 try 语句三、使用断言1.断言的概念2.启用和禁用断言3.使用断言完成参数检查总结前言 在现实世界中却充…

由浅入深学安全-1

由浅入深学安全 常用术语解析 肉鸡 肉鸡也称傀儡机&#xff0c;是指可以被黑客远程控制的机器。 比如用灰鸽子等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马&#xff0c;黑客可以随意操纵它并利用它做任何事情。 一句话木马 一句话木马主要用来配合菜刀…

【Java系列】还在为Java运算符而烦恼吗?一篇文章带你解答心中烦恼

返回主篇章         &#x1f447; 【Java】才疏学浅小石Java问道之路 Java基本运算符1. 算数运算符分类运算法则2. 关系运算符分类注意项3. 逻辑运算符分类运算法则4. 短路逻辑运算符分类运算法则5. 赋值运算符拓展6. 三元运算符格式运算法则7. 自增自减运算符分类使用…

12-Golang中的嵌套分支以及switch语句的用法

Golang中的嵌套分支以及switch语句的用法嵌套分支基本介绍基本语法switch基本介绍基本语法流程图使用细节嵌套分支 基本介绍 在一个分支结构中又完整的嵌套了另一个完整的分支结构&#xff0c;里面的分支的结构称为内层分支外面的分支结构称为外层分支 基本语法 if 条件表达…

声明式服务调用OpenFeign

文章目录一. OpenFeign1. Feign 与 OpenFeign二. OpenFeign的使用三. OpenFeign自定义配置1. 修改日志级别2. 超时控制四. OpenFeign性能优化五. OpenFeign最佳实践1. 继承2. 抽取PS: 本文为作者学习笔记&#xff0c;实际技术参加意义不大&#xff0c;本文将持续改进完善。 一…

Doris(二)

目录1、Doris数据的导入和导出1.1 数据导入1.1.1 Broker Load1.1.1.1 适用场景1.1.1.2 基本原理1.1.1.3 基本语法1.1.1.4 导入示例1.1.1.5 查看导入1.1.1.6 取消导入1.1.2 Stream Load1.1.2.1 适用场景1.1.2.2 基本原理1.1.2.3 基本语法1.1.2.4 导入示例1.1.2.5 取消导入1.1.3 …

蓝牙耳机什么牌子好?性价比最高的蓝牙耳机排行榜

近年来&#xff0c;蓝牙耳机品牌与日俱增&#xff0c;可供人们选择的范围也越来越大。当然&#xff0c;主打性价比的蓝牙耳机品牌也有很多&#xff0c;下面&#xff0c;我来给大家分享几款性价比最高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 售价&#…

寒潮来袭,这款产品在跨境电商市场卖脱销

年底的寒潮来袭&#xff0c;全球市场热销产品分析跨境电商在年底冬季属于销售旺季&#xff0c;大多数的跨境电商卖家们都开始尽情努力&#xff0c;争取今年获得大批收入&#xff0c;在这个年底既是旺季也是困难季。2022年底旺季时分&#xff0c;有不少产品在跨境电商市场卖脱销…

jQuery index()

jQuery index() 概述 在jQuery中&#xff0c;我们可以使用index()方法来获取当前jQuery对象集合中“指定元素”的索引值。 语法 $(元素).index()说明 index()方法可以接受一个“jQuery对象”或“DOM对象”作为参数&#xff0c;不过一般情况下&#xff0c;我们很少会使用到…

Idea常用快捷键(MacOS和Win平台)持续更新ing~

小名在刚换MacOS系统时总结的一些Idea快捷键&#xff0c;这里小名把Win的对比快捷键和功能都列出来&#xff0c;方便像小名这样“肌肉记忆”的小伙伴顺利过渡&#xff5e; 当然&#xff0c;这些都是小名平日工作常用的快捷键&#xff0c;不熟悉这些快捷键的Win平台小伙伴也可以…

springboot的核心注解详解

springboot的注解详解 Spring Boot 主要优势之一&#xff0c;就是“开箱即用&#xff0c;远离繁琐的配置”。 Spring Boot 架构没有代码生成&#xff0c;也不需要XML配置&#xff0c;有效避免大量的 Maven 导入和各种版本冲突&#xff0c;为 Spring 开发提供一个更快、更广泛…

数字ic后端|分享后端项目中一次分析解决问题的过程

后端ICer经常会在项目中遇到问题&#xff0c;如何解决问题&#xff0c;则体现出经验。今天遇到的一个问题&#xff0c;这里做个记录。同时也希望通过读这篇文章&#xff0c;你也能增加一个解决问题的经验。 相对来说&#xff0c;前端更多的是理论&#xff0c;后端更多的是需要…