ホームページ >データベース >mysql チュートリアル >MySQL の 2 つの列から異なる値を選択し、重複するエントリを削除する方法
MySQL の 2 つの列から異なる値を選択する: 重複エントリを克服する
MySQL データベース管理では、複数の列にわたる重複値を区別すると、チャレンジ。次のシナリオを考えてみましょう:
質問:
「foo」という名前のデータベース テーブルには、「foo」と「bar」という 2 つの列があり、次のデータが含まれています。
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
クエリ "SELECT DISTINCT foo, bar FROM foo" を実行すると、次の結果が得られます:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
ただし、これらの結果には、'foo' と ' のペアの繰り返しが含まれます。 「a」や「c」などの「bar」値は、異なる順序で表示されます。目標は、両方の列から異なる値のみを選択し、これらの重複を排除することです。
回答:
この問題に対処するために、MySQL は 'GROUP BY' 句を提供します。これは、指定された列に基づいて行をグループ化し、グループごとに個別の行を 1 つだけ選択します。この句を使用すると、クエリを次のように変更できます:
SELECT foo, bar FROM foo GROUP BY foo, bar;
この変更されたクエリは次の結果を生成します:
foo | bar |
---|---|
a | c |
c | f |
d | a |
'foo' と ' の両方で行をグループ化することにより、 bar' の場合、クエリは、出現順序に関係なく、値の個別の組み合わせがそれぞれ結果内で 1 回だけ表されることを保証します。
以上がMySQL の 2 つの列から異なる値を選択し、重複するエントリを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。