如何选择2个列的组合相同的行[英] How to select rows where a combination of 2 columns is the same

本文是小编为大家收集整理的关于如何选择2个列的组合相同的行的处理方法,想解了如何选择2个列的组合相同的行的问题怎么解决?如何选择2个列的组合相同的行问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

标题在描述我的问题方面似乎做得很差;让我试着用一个简化的例子来解释一下:

假设我有下表:

_______________________
|id|variant_id|attr_id|
|__|__________|_______|
|1 |15        |110    |
|2 |15        |110    |
|3 |20        |152    |
|4 |20        |110    |
|5 |21        |110    |
|__|__________|_______|

现在,我想要的是一个查询,它选择 variant_id 和 attr_id 列组合出现多次的所有行.基本上在这个例子中它应该选择第 1 行和第 2 行,因为它们的 variant_id 和 attr_id 组合在表中出现了不止一次.

这可能吗?想一个可能的解决方案让我头疼.

推荐答案

试试这个查询

SELECT a.* FROM 
tbl a 
inner join 
tbl b
ON a.variant_id =b.variant_id AND a.attr_id = b.attr_id
WHERE a.id <> b.id;

希望对你有帮助

本文地址:https://www.itbaoku.cn/post/1764182.html