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

如何处理重复标题行:多描述标题显示'Duplicate'

解决方法

你的SQL报错是因为在GROUP BY Title后,SELECT子句中的Description既不在分组字段里,也没有用聚合函数包裹,不符合SQL的分组查询规则。以下两种无需过多子查询的方案可以解决问题:

方案一:使用聚合函数结合CASE

利用聚合函数(如MAX()/MIN())获取唯一描述,同时通过COUNT()判断是否存在多条记录:

SELECT
    Title,
    CASE WHEN COUNT(*) > 1 THEN 'Duplicate' ELSE MAX(Description) END AS Title_desc
FROM Titles
GROUP BY Title;
  • 原理:GROUP BY Title将相同标题的行合并,COUNT(*)统计每个标题对应的记录数;当记录数大于1时返回Duplicate,否则用MAX(Description)获取该标题唯一的描述(因为只有一条记录,MAX()和MIN()结果一致)。

方案二:使用窗口函数+DISTINCT

通过窗口函数统计每个标题的记录数,再去重得到唯一行:

SELECT DISTINCT
    Title,
    CASE WHEN COUNT(*) OVER(PARTITION BY Title) > 1 THEN 'Duplicate' ELSE Description END AS Title_desc
FROM Titles;
  • 原理:COUNT(*) OVER(PARTITION BY Title)会为每一行计算其所属标题的总记录数,CASE根据这个计数返回对应内容;最后用DISTINCT去掉同一标题的重复行,因为同一标题的所有行经过CASE处理后结果完全相同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:45:40