4

I have explored many questions and answers regarding how to return the greatest values from multiple columns along with column name. But I have not solved the problem here in this question will explain:

SQL MAX of multiple columns?

But I don't know how to figure out the column name having greatest value? Any ideas?

Community
  • 1
  • 1
Suleman Ahmad
  • 2,025
  • 4
  • 28
  • 43

1 Answers1

7

You can use GREATEST function to find the maximum value among all columns:

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 ...
Omesh
  • 27,801
  • 6
  • 42
  • 51