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

如何使用Window Function实现同VAR同Group不同SalesPrice的标记需求?

解决方案:标记同VAR同组下价格不一致的记录

可以通过窗口函数结合CASE WHEN语句实现需求,以下提供两种常用写法:

方法1:对比分组内最小/最大价格

通过窗口函数获取每个VAR+Group分组内的最小和最大SalesPrice,当两者不相等时标记为need to define:

SELECT 
    VAR,
    `Group`,
    SalesPrice,
    CASE 
        WHEN MIN(SalesPrice) OVER (PARTITION BY VAR, `Group`) <> MAX(SalesPrice) OVER (PARTITION BY VAR, `Group`)
        THEN 'need to define'
        ELSE NULL -- 可替换为你需要的默认值,比如空字符串
    END AS Status
FROM your_table_name;

方法2:统计分组内不同价格的数量

统计每个VAR+Group分组内不同SalesPrice的数量,当数量大于1时标记:

SELECT 
    VAR,
    `Group`,
    SalesPrice,
    CASE 
        WHEN COUNT(DISTINCT SalesPrice) OVER (PARTITION BY VAR, `Group`) > 1
        THEN 'need to define'
        ELSE NULL
    END AS Status
FROM your_table_name;

注意事项

  • Group是SQL保留关键字,查询时需要用反引号(MySQL)或方括号(SQL Server)包裹,避免语法报错
  • 替换your_table_name为实际的表名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:04:55