2016-07-29 3 views
0

У меня есть структура таблицыИзвлечение строки максимальное значение мудры в MySQL

ID Col_1 col_2 col_3 col_4 
1 34  23  45  32 
2 20  19  67  18 
3 40  10  76  86 

Я здесь хочу, максимальное значение из col_1, col_, col_3, col_4 поэтому мой выход выглядит как

ID Col_1 col_2 col_3 col_4 max 
    1 34  23  45  32 45 
    2 20  19  67  18 67 
    3 40  10  76  86 86 

I пробовал с использованием

SELECT ID, MAX(col_1,col_2,col_3,col_4) as max 
FROM demo 
GROUP BY ID 

любая помощь была бы очень признательна.

+0

Что является результатом запроса, написал? – Thijs

ответ

1

Необходимо нормализовать структуру таблицы. Попробуйте

select ID, max(Col_1) as max_value from 
(
select ID, Col_1 from table 
union all 
select ID, Col_2 from table 
union all 
select ID, Col_3 from table 
union all 
select ID, Col_4 from table 
) as t group by ID 
+0

Это работает как шарм !!! Спасибо – Deepesh

1

и может использовать функцию MySQL БОЛЬШОЕ

SELECT id, col1, col2, col3, col4, 
GREATEST(col1, col2, col3, col4) AS mx FROM demo 

http://sqlfiddle.com/#!9/9cbb0/2

+0

Спасибо..и работы «Величайшая функция» пришли мне на помощь. – Deepesh

1

вы можете попробовать это

SELECT ID, col_1, col_2, col_3, col_4, 
GREATEST(col_1, col_2, col_3, col_4) AS max_value FROM table_name 
+0

Спасибо !!! ... он работает – Deepesh

0

@Thijs для справки это соответствующий вывод I получил. Результат

enter image description here

запрос первого запроса на @Madhivanan

enter image description here

результат запроса из первых двух растворов при условии

Смежные вопросы