ホームページ >データベース >mysql チュートリアル >MySQL の複数の列から真に異なる値を取得するにはどうすればよいですか?
MySQL の複数の列から個別の値を選択する方法
データベースを操作する場合、多くの場合、複数の列から一意の値または個別の値を取得する必要があります。列。ただし、単純な SELECT DISTINCT 句を使用しても、常に望ましい結果が得られるとは限りません。
問題
次のシナリオを考えてみましょう:
Table: foo_bar 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_bar を実行すると、次の結果が返されます。
foo | bar --- | --- a | c c | f d | a c | a f | c
各列の値は異なっていますが、ペア自体は異なっていることに注意してください。たとえば、a と c のペアは、順序が異なるだけで 2 回表示されます。
解決策: GROUP BY を使用する
真に異なる値のペアを取得するには、次のようにします。 GROUP BY 句を利用できます:
SELECT foo, bar FROM foo_bar GROUP BY foo, bar
GROUP BY 句は、指定された列に基づいて結果をグループ化するようにデータベースに指示します。この場合、foo 列と bar 列の両方で行がグループ化されます。
結果として、クエリは値の一意のペアのみを返します。
foo | bar --- | --- a | c c | f d | a
このアプローチにより、次のことが保証されます。指定された複数の列から値の一意の組み合わせのみを取得します。
以上がMySQL の複数の列から真に異なる値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。