MySQL で DISTINCT を使用して複数の列の個別の値を識別する
MySQL では、一意の値のみを取得する必要があるシナリオが発生する場合があります。テーブル内の複数の列の値。ただし、DISTINCT キーワードを単独で使用すると、必ずしも望ましい結果が得られるとは限りません。この記事は、この問題を明確にし、複数の列に対して個別の値を個別に選択するための解決策を提供することを目的としています。
あなたが述べたように、SELECT DISTINCT a,b,c,d FROM my_table を使用しても機能しません。 4 つの列すべてに個別の値が含まれる行。各列に個別の値が必要なので、これは望ましいことではありません。
これを実現するには、GROUP BY 句を DISTINCT と組み合わせて利用します。その仕組みは次のとおりです。
SELECT DISTINCT a, b FROM my_table GROUP BY a, b;
このクエリでは、DISTINCT キーワードが GROUP BY 句内の a と b に適用されます。これは、テーブル内の a 値と b 値の一意の組み合わせごとに、クエリは単一行のみを返すことを意味します。結果は、a と b の値のすべての個別のペアのリストになります。
必要に応じて、GROUP BY 句に列を追加できます。たとえば、a、b、c、d の 4 つの列すべての個別の値を取得するには、次のコマンドを使用します。
SELECT DISTINCT a, b, c, d FROM my_table GROUP BY a, b, c, d;
これにより、これらの 4 つの列の一意の組み合わせすべてのリストが得られます。
このアプローチでは、必ずしも特定の 1 行の値ではなく、値の個別の組み合わせが返されることに注意することが重要です。各グループに対して 1 行のみが返されるようにしたい場合は、GROUP BY 句の後に LIMIT 1 句を追加できます。
以上がMySQL の複数の列から個別の値を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。