You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL查询调整需求:提取近6个月数据并排除最近两周

调整后的MySQL查询方案

针对你的需求——提取过去6个月的数据但排除最近两个完整周(当前周和上一周),提供两种实现方式:

方式一:基于日期范围排除

适合需要直接排除从两周前到当前所有日期的场景:

SELECT DISTINCT
    DATE_FORMAT(abc.date, '%d/%m/%Y') AS date_bes
FROM `table` abc
WHERE 
    abc.date >= CURDATE() - INTERVAL 6 MONTH
    AND abc.date < CURDATE() - INTERVAL 2 WEEK;

方式二:按周精准排除(匹配你示例的周范围)

如果需要严格排除当前周和上一周的所有数据(不管当前日期是周内第几天),结合年份和周数判断可避免跨年问题:

SELECT DISTINCT
    DATE_FORMAT(abc.date, '%d/%m/%Y') AS date_bes
FROM `table` abc
WHERE 
    abc.date >= CURDATE() - INTERVAL 6 MONTH
    AND CONCAT(YEAR(abc.date), '-', WEEK(abc.date, 1)) NOT IN (
        CONCAT(YEAR(CURDATE()), '-', WEEK(CURDATE(), 1)),
        CONCAT(YEAR(DATE_SUB(CURDATE(), INTERVAL 1 WEEK)), '-', WEEK(DATE_SUB(CURDATE(), INTERVAL 1 WEEK), 1))
    );

说明

  • 方式一逻辑:保留过去6个月内的数据,直接剔除两周前至今的所有记录,和原查询结果一致,但写法更贴合“排除最近两周”的表述。
  • 方式二逻辑:WEEK(...,1)指定周一为一周起始(和你示例中的周范围匹配),通过年份+周数的组合,精准定位并排除当前周和上一周,跨年场景也能正常工作。

内容的提问来源于stack exchange,提问作者Juji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:43:12