如何编写SQL查询找出同一行中多列值相同的数据行
筛选同一行内多列值重复的SQL查询方案
没问题,我来帮你搞定这个需求!你要找的是同一行内指定多列值完全重复的数据行,和不同行之间的重复筛选逻辑完全不同,针对你的示例数据,我们可以直接通过列值相等的条件来实现。
核心查询语句
假设你的表名为your_table_name,要检查的列是column_1、column_2、column_3,可以用以下SQL:
SELECT * FROM your_table_name WHERE column_1 = column_2 AND column_2 = column_3;
逻辑说明
这个查询的思路很直白:
- 先判断
column_1和column_2的值是否相等 - 再判断
column_2和column_3的值是否相等 - 同时满足这两个条件时,就意味着三个列的值完全一致,也就是你要找的目标行
针对你给出的示例数据,运行这个查询后,会精准返回id为2和4的两行,完全符合你的需求。
扩展场景
如果需要检查的列更多(比如新增column_4),只需要继续添加相等判断即可:
SELECT * FROM your_table_name WHERE column_1 = column_2 AND column_2 = column_3 AND column_3 = column_4;
内容的提问来源于stack exchange,提问作者Ewout
相关产品推荐
相关产品推荐

