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.
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.