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

如何筛选两列均无重复值的行(非仅唯一行)

订单与发票表筛选方案:保留ORD/INV均无重复的行

核心逻辑

要筛选的行必须同时满足两个条件:

  • 当前行的ORD值在全表中仅出现1次
  • 当前行的INV值在全表中仅出现1次

SQL实现方案

假设你的关联表名为order_invoice,可以用窗口函数统计每个值的出现次数,再筛选符合条件的行:

WITH count_cte AS (
    SELECT 
        ORD,
        INV,
        COUNT(ORD) OVER (PARTITION BY ORD) AS ord_count,
        COUNT(INV) OVER (PARTITION BY INV) AS inv_count
    FROM order_invoice
)
SELECT ORD, INV
FROM count_cte
WHERE ord_count = 1 AND inv_count = 1;

这段代码先通过CTE给每一行计算对应ORD和INV的全局出现次数,之后只保留两个计数都为1的行,完全符合“任意列存在重复就排除”的要求。

Excel实现方案

如果用Excel处理数据:

  1. 假设ORD在A列,新增辅助列(如C列),输入公式:=COUNTIF($A:$A,A2),下拉填充得到每个ORD的重复次数
  2. 假设INV在B列,新增辅助列(如D列),输入公式:=COUNTIF($B:$B,B2),下拉填充得到每个INV的重复次数
  3. 筛选C列和D列值均为1的行,即为符合要求的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:41:03