複数の列から最大値と関連する列名の両方を取得する方法
複数の列の間で最大値を特定することは、データ分析。ただし、この値を含む列も決定する必要がある場合は、さらに複雑になります。
SQL の GREATEST 関数は、この課題に対する解決策を提供します。指定した列のセットから最大値を計算できます。
SELECT GREATEST(col1, col2, col3, ...) AS max_value FROM table_name WHERE ...
このクエリは、指定した列の最大値を返します。ただし、この値を保持する列を決定する必要があります。
これを実現するには、SELECT ステートメント内で CASE 式を使用できます。
SELECT @var_max_val:= GREATEST(col1, col2, col3, ...) AS max_value, CASE @var_max_val WHEN col1 THEN 'col1' WHEN col2 THEN 'col2' ... END AS max_value_column_name FROM table_name WHERE ...
CASE 式は max_value を評価します。そして、対応する列名を max_value_column_name として返します。たとえば、max_value がcol2 に等しい場合、max_value_column_name は「col2」に設定されます。
このアプローチにより、最大値とそれに関連付けられた列名の両方を取得でき、データ分析と意思決定に貴重な洞察が得られます。作っています。
以上がSQL で最大値とそれに対応する列名を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。