2016-07-29 7 views
0

Ich habe eine Tabelle Strukturden Maximalwert zeilenweise in mysql Fetching

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

ich den maximalen Wert von col_1 hier wollen, COL_, col_3, col_4 so sieht meine Ausgabe wie

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 versucht mit

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

jede Hilfe würde sehr geschätzt werden.

+0

Was das Ergebnis der Abfrage ist, dass Sie schrieb? – Thijs

Antwort

1

Sie müssen die Tabellenstruktur normalisieren. Versuchen Sie, diese

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

Das funktioniert wie Charme !!! Danke – Deepesh

1

Sie dieses

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

Danke !!! ... es funktioniert – Deepesh

0

@Thijs auf Ihre Referenz versuchen kann der entsprechende Ausgang ich dies verwenden können bekam.

enter image description here

Abfrageergebnis der ersten Abfrage von @Madhivanan

enter image description here

Abfrageergebnis aus dem ersten der beiden Lösungen bereitgestellt

Verwandte Themen