こんにちは、PHP-MySQLでは、1つの列または複数の列に同じ値を持つすべての行を見つける方法を知りたいと思います。値を指定する必要はないので、テーブル内で一意でない値を持つすべての行を探したい(つまり、少なくとも同じ値を持つ別の行があることを意味する)。 examleテーブルの列の場合1つ以上の列に全く同じ値を持つ行を見つける方法
はID | number | value
され、行は以下のとおりです。
1 | 5 | hello
2 | 6 | goodbye
3 | 7 | see you
4 | 6 | hello
5 | 6 | goodbye
私はQUEを希望しますフィールド内の同じ値を持つすべての行を見つけるにはvalue
です。この場合、結果は1,4および2,4行になります。
また、両方のフィールドnumber
とvalue
で同じ値、例の結果は、単に行2,4
になるので、私は私が唯一の共通の値を取得しますので、そのSELECT DISTINCT
が合わない見つけ、すべての行を取得する必要があります行全体ではありません。 exists
を使用してそれを行うには
SELECT ID, number, value
FROM mytable
WHERE (number, value) IN (SELECT number, value
FROM mytable
GROUP BY number, value
HAVING COUNT(*) >= 2)
宿題? GROUP BYを使用することも、EXISTSを使用することも、自己結合することもできます。 – jarlh