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

Oracle中如何忽略特定列中出现次数大于1的值?

Oracle查询:排除特定列重复次数超过1的记录

要实现排除Column1中出现次数大于1的所有值,有两种常用方法:

方法1:子查询关联统计

先通过分组统计Column1的出现次数,再关联原表筛选出次数为1的记录:

SELECT t.Column1 AS "Row 1", t.Column2 AS "Row 2"
FROM your_table t
INNER JOIN (
    SELECT Column1
    FROM your_table
    GROUP BY Column1
    HAVING COUNT(*) = 1
) cnt ON t.Column1 = cnt.Column1;

方法2:窗口函数(更简洁)

利用COUNT() OVER()窗口函数直接计算每个Column1分组的记录数,外层过滤计数为1的行:

SELECT Column1 AS "Row 1", Column2 AS "Row 2"
FROM (
    SELECT Column1, Column2,
           COUNT(*) OVER (PARTITION BY Column1) AS col_count
    FROM your_table
) sub
WHERE col_count = 1;

注意:将上述代码中的your_table替换为你实际使用的表名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:55:17