• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie alle besten Einträge auswählen?

Hallo liebe Community,
versuche nun schon seit mehren Tagen eine Lösung für mein Problem zu finden und hoffe das ich hier richtig bin und ihr mir helfen könnt. Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht mehr.

Habe Tabellen mit 12 Spalten. Für select sind nur 3 interessant: ID, VARIANCE und SCORE.
IDs kommt mehrfach vor. VARIANCE und SCORE variieren. (Restlichen Spalten natürlich auch) Möchte jeweils die gesamte ID-Zeile mit kleinster VARIANCE und höchstem SCORE auswählen. Also das beste Ergebnis auswählen.
Hat hier jemand eine Idee wie das zu machen ist?

Dachte vielleicht es geht so:

mysql> select t1.* from (select min(VARIANCE) as VARIANCE, ID from 'table' group by ID) t1 join 'table' t2 on t1.VARIANCE = t2.VARIANCE;

Klappt aber nicht. Einträge werden doppelt ausgegeben. Ich produziere also sogar Dubletten.

Vielen dank schon einmal für die Hilfe im voraus.
 
Wie soll man das herausfinden, ohne die Datenbank vorliegen zu haben und probieren zu können?

Grundsätzlich hat mir immer dieses Thema zu den Befehlen geholfen. Aber anscheinend bist Du mit SQL ja schon recht vertraut.
 
Oben