ホームページ > データベース > mysql チュートリアル > 特定の列で異なる値を持つ重複行を見つけるにはどうすればよいですか?

特定の列で異なる値を持つ重複行を見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-28 03:20:10
オリジナル
604 人が閲覧しました

How to Find Duplicate Rows with Different Values in a Specific Column?

異なる列値を持つ重複行の選択

このデータベース クエリは、他の列の値を無視しながら、特定の列に基づいて重複行を識別することを目的としています。列。次のシナリオを考えてみましょう。

 ------ ------ </p>
<table>
<thead><tr>
<th>ARIDNR</th>
<th>LIEFNR</th>
</tr></thead>
<tbody>
<tr>
<td>1</td>
<td>A</td>
</tr>
<tr>
<td>2</td>
<td>A</td>
</tr>
<tr>
<td>3</td>
<td>A</td>
</tr>
<tr>
<td>1</td>
<td>B</td>
</tr>
<tr>
<td>2</td>
<td>B</td>
</tr>
</tbody>
</table>
<p>

目的は、異なる LIEFNR 値を持つ複数回出現する ARIDNR 値を選択することです。

解決策

これを達成するには、以下を利用できます。 query:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)
ログイン後にコピー

このクエリは、ネストされたサブクエリを使用して、指定された基準を満たす ARIDNR 値を識別します。サブクエリは ARIDNR ごとに行をグループ化し、各 ARIDNR に関連付けられた一意の LIEFNR 値の数を計算する COUNT(DISTINCT LIEFNR) 関数を適用します。カウントが 1 を超える場合、ARIDNR は一時テーブルに追加されます。

その後、メイン クエリは、ARIDNR 値がサブクエリで識別された値と一致するすべての行を元のテーブルから選択します。これにより、目的の出力が得られます。

 ------ ------ </p>
<table>
<thead><tr>
<th>ARIDNR</th>
<th>LIEFNR</th>
</tr></thead>
<tbody>
<tr>
<td>1</td>
<td>A</td>
</tr>
<tr>
<td>1</td>
<td>B</td>
</tr>
<tr>
<td>2</td>
<td>A</td>
</tr>
<tr>
<td>2</td>
<td>B</td>
</tr>
</tbody>
</table>
<p>

このメソッドは、さまざまな LIEFNR 値を持つ重複行を効果的にキャプチャし、最初の要件を満たします。

以上が特定の列で異なる値を持つ重複行を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート