重複 ID と異なる列値を持つ行の抽出
クエリ:
続くtable:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 2 | A | +------+------+ | 3 | A | +------+------+ | 1 | B | +------+------+ | 2 | B | +------+------+
目標は、ARIDNR 列に重複値があり、LIEFNR 列に個別の値があるすべての行を取得することです。
解決策:
このクエリを効果的に実行するには、次の手順に従ってくださいステップ:
SELECT * FROM Table WHERE ARIDNR IN ( SELECT ARIDNR FROM Table GROUP BY ARIDNR HAVING COUNT(DISTINCT LIEFNR) > 1 )
説明:
このクエリは、サブクエリを利用して、複数回発生する ARIDNR を識別します。外側のクエリでは、識別された ARIDNR を持つすべての行を取得します。
サブクエリ:
外部クエリ:
結果:
クエリの出力は次のようになります:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 1 | B | +------+------+ | 2 | A | +------+------+ | 2 | B | +------+------+
この結果重複した ARIDNR と異なる LIEFNR 値を持つすべての行を正常にキャプチャします。
以上がSQL で重複 ID と一意の列値を持つ行を選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。