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

如何在SQL Developer中查询long_description列重复的记录并提取指定列?

解决方法

要提取满足条件的记录,你需要先定位重复的long_description值,再筛选出对应列数据不同的记录。先纠正你给出的SQL语法问题,再提供可行的查询方案:

1. 先找出重复的long_description

首先得确定哪些long_description出现了至少两次,这是后续筛选的基础:

SELECT long_description
FROM your_table
GROUP BY long_description
HAVING COUNT(*) >= 2;

2. 筛选列数据不同的对应记录

基于上面的结果,通过自关联原表,找出同一long_description下col1/col2不同的记录:

-- 假设表有唯一主键id,用来排除同一条记录自关联
SELECT DISTINCT t1.col1, t1.col2, t1.long_description
FROM your_table t1
JOIN your_table t2
  ON t1.long_description = t2.long_description
  AND t1.id != t2.id
  AND (t1.col1 != t2.col1 OR t1.col2 != t2.col2);

如果表没有唯一主键,可以用窗口函数生成行号来区分不同记录:

WITH numbered_rows AS (
  SELECT
    col1, col2, long_description,
    ROW_NUMBER() OVER (PARTITION BY long_description ORDER BY (SELECT NULL)) AS row_num
  FROM your_table
)
SELECT DISTINCT nr1.col1, nr1.col2, nr1.long_description
FROM numbered_rows nr1
JOIN numbered_rows nr2
  ON nr1.long_description = nr2.long_description
  AND nr1.row_num != nr2.row_num
  AND (nr1.col1 != nr2.col1 OR nr1.col2 != nr2.col2);

关键说明

  • 把your_table替换成你的实际表名,id替换成表的主键字段(如果有)
  • 用DISTINCT避免返回重复的记录组合
  • 原SQL存在语法错误:WHERE子句里不能直接写聚合统计,分组后的条件判断要放在HAVING里,且语句结构混乱,缺少正确的关联逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:05:56