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

单条SELECT查询按规则去重:列1重复时取列2尾缀10的行

符合要求的去重查询实现

假设你的源表名为 source_table,可直接使用以下单SELECT查询实现需求,所有筛选逻辑都写在WHERE子句中,未使用DISTINCT ON或临时表,适配绝大多数支持标准SQL的数据库:

SELECT *
FROM source_table t1
WHERE 
  -- Column1存在重复值时,仅保留Column2以10结尾的行
  (t1."Column 2" LIKE '%10' AND EXISTS (
    SELECT 1 FROM source_table t2 
    WHERE t2."Column 1" = t1."Column 1"
    GROUP BY t2."Column 1"
    HAVING COUNT(*) > 1
  ))
  -- Column1无重复值时,直接保留对应行
  OR NOT EXISTS (
    SELECT 1 FROM source_table t2 
    WHERE t2."Column 1" = t1."Column 1"
    GROUP BY t2."Column 1"
    HAVING COUNT(*) > 1
  )

逻辑说明

  • 通过关联子查询判断当前行的Column 1是否存在重复值:相同Column 1分组后计数大于1即判定为重复
  • 对存在重复的分组,仅筛选Column 2后缀为10的行
  • 对无重复的分组,直接保留所有对应行
  • 不会过滤掉其他列的差异值,完全符合你的约束要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:45:00