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

如何在SELECT语句中移除特定ID值的同值重复行?

解决方案:精准排除指定ID相等的行

嘿,我来帮你搞定这个需求!既然不能直接用ID1 <> ID2的条件,那我们可以换个思路:保留那些要么ID1和ID2不相等,要么即使相等但不在你指定的数值列表(11、13)里的行。这样就能精准排除掉你不想留的那些行,同时不会误删其他ID相等但不在列表里的行(如果有的话)。

下面针对几种常用的工具场景给出具体实现:

1. SQL 数据库处理

如果是在数据库中查询,直接用NOT包裹复合条件即可:

SELECT *
FROM your_table_name
WHERE NOT (ID1 = ID2 AND ID1 IN (11, 13));

这个条件的逻辑是:排除所有满足「ID1和ID2相等,并且ID1的值是11或13」的行,剩下的就是你需要的数据。

2. Python Pandas 处理DataFrame

如果用Pandas分析表格数据,可以这样写过滤逻辑:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'ID1': [10, 11, 12, 13],
    'ID2': [43, 11, 45, 13]
})

# 应用过滤条件:取反(ID1=ID2 且 ID1在指定列表)的结果
filtered_df = df[~((df['ID1'] == df['ID2']) & df['ID1'].isin([11, 13]))]

print(filtered_df)

运行后输出的结果会自动排除第2、4行:

ID1  ID2
0   10   43
2   12   45

3. Excel 表格处理

要是用Excel手动处理,可以添加一个辅助列(比如C列),在C2单元格输入以下公式,然后下拉填充:

=NOT(AND(A2=B2, OR(A2=11, A2=13)))

之后筛选C列为TRUE的行,就是你需要保留的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:13:31