Rolf ẞ: Ausgabe des höchsten Wertes einer Zeile aus eine MYSQL Datenbank

Beitrag lesen

Hallo Kristina,

Da deine Tabelle nicht normalisiert ist, musst du entweder dein DB Design ändern oder Dir einen normalisierten View erzeugen.

Create view tabview as
Select Name, 'Jan' as monat, januar as wert from table
Union all
Select Name, 'Feb' as monat, februar as wert from table
Union all
...
Union all
Select Name, 'Dez' as monat, dezember as wert from table

Basierend darauf kannst du nun so abfragen;

Select Name, a.Monat, a.wert
From tabview a Join (select Name,Max(wert) as maxwert from tabview Group by Name) b on a.Name=b.Name and a.wert=b.maxwert

Vermutlich ist das nicht schnell. Dafür rettet es dein „Datenmodell“.

Ein redesign des Modells ist auf jeden fall der bessere Weg

Rolf

--
Dosen sind silbern