Mysql 查询最近12个月的数据


示例: 

比如现在是2024年 1月, 我们想查询最近12个月的数据。

那么就是 2024-01 的数据,以及 2023-02 到2023-12的数据,一共12个月数据。


ps: 当然起始我们能自然而然拿到最近12个月的起始和结束时间,那么开闭区间怎么用是取决于我们自己。


那么我们通过sql怎么实现呢? 

① 拿到 最近12个月的起始结束时间
② 使用时间比较大小区间取数即可

最近12个月

起始时间 : DATE_SUB(CURDATE(), INTERVAL 12 MONTH)

结束时间  :  DATE_ADD(CURDATE(), INTERVAL -1 DAY)

SELECT DATE_SUB(CURDATE(), INTERVAL 12 MONTH),DATE_ADD(CURDATE(), INTERVAL -1 DAY);

因为我要的是月维度,所以我直接切7个数,刚好到月,用来比大小,即可。


SELECT id,create_time, 业务字段 

FROM  你的表 

WHERE  LEFT(create_time,7) > LEFT(DATE_SUB(CURDATE(), INTERVAL 12 MONTH) ,7)

AND LEFT(create_time,7) <= LEFT(DATE_SUB(CURDATE(), INTERVAL -1 DAY) ,7)

好了就到这。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 21:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 21:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 21:08:02       87 阅读
  4. Python语言-面向对象

    2024-01-11 21:08:02       96 阅读

热门阅读

  1. 【无标题】

    2024-01-11 21:08:02       43 阅读
  2. 我国实施个人信息出境认证的要点

    2024-01-11 21:08:02       54 阅读
  3. SpringMVC-03

    2024-01-11 21:08:02       56 阅读
  4. Vue父子组件值的传递【极简版】

    2024-01-11 21:08:02       57 阅读