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

如何使用CASE WHEN检测同组内日期不一致的情况?

需求:标记同组内日期不匹配的行

新增一列以标记同组内日期不匹配的行:当State和City相同的分组内存在不同Date时,该列显示Date Mismatch,否则为空。

数据示例

StateCityDate
TexasAustin2023
TexasAustin2023
TexasAustin2020
TexasHouston2023
TexasHouston2023

修正后的SQL代码

使用窗口函数可高效实现需求,无需多余过滤条件:

SELECT
    State,
    City,
    Date,
    CASE
        WHEN COUNT(DISTINCT Date) OVER (PARTITION BY State, City) > 1
        THEN 'Date Mismatch'
        ELSE NULL
    END AS "Checks Column"
FROM
    your_table_name; -- 替换为实际表名

代码说明

  • PARTITION BY State, City:按州和城市分组
  • COUNT(DISTINCT Date) OVER (...):统计每个分组内不同日期的数量
  • 当数量大于1时,说明分组内存在日期不匹配,标记为Date Mismatch

预期结果

StateCityDateChecks Column
TexasAustin2023Date Mismatch
TexasAustin2023Date Mismatch
TexasAustin2020Date Mismatch
TexasHouston2023
TexasHouston2023

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:07:25