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

SQL如何对Appliances分类单独添加2016年后购买的日期过滤条件

问题原因

你现有SQL将Category = 'Appliances'和其他条件做了全局AND关联,会导致两个不符合预期的结果:

  • 直接过滤掉所有非Appliances分类的记录
  • 仅保留Appliances分类中2016年之后的购买记录

调整方案

你需要把日期的限制范围限定在Appliances分类下,非该分类的记录不需要满足日期条件,同时保留level=1、Company='COC'这两个全局必选过滤条件。
正确的写法如下:

SELECT *
FROM `table`
WHERE 
  level = 1 
  AND Company = 'COC'
  AND (
    Category != 'Appliances'
    OR (Category = 'Appliances' AND PurchaseDate > '2016-01-01')
  )

注意事项

  • 日期值需要用引号包裹,否则部分数据库会将2016-01-01识别为数值计算结果(2016减1减1=2014),导致日期判断逻辑错误
  • 如果你的数据库中Category存在NULL值,可根据需求调整Category != 'Appliances'的写法,比如改为Category IS NULL OR Category != 'Appliances'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:03