Greatest value of multiple columns with column name?
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 ...