1

タイトルは、私の問題を説明するのに非常に不十分なようです。簡単な例で説明してみましょう。

次のテーブルがあるとしましょう:

_______________________
|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テーブル内で複数回出現するためです。

それは可能ですか?可能な解決策を考えようとして頭が痛い.

4

2 に答える 2

5
SELECT variant_id, attr_id
FROM YouTable
GROUP BY variant_id, attr_id
HAVING COUNT(*) > 1
于 2013-04-29T07:37:23.707 に答える
4

このクエリを試してください

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;

お役に立てれば

于 2013-04-29T07:38:03.410 に答える