Datensatz mit max und group auslesen

melmager

Erfahrenes Mitglied
Ich glaube im Moment stehe ich auf den Schlauch :-(

ich habe eine tabelle mit id und darauf den group by
und eine Spalte mit wert(int)

Nun möchte ich den Datensatz der die maximalen wert hat komplett auslesen

nur das haut nicht hin :-(

select *,max(mode) from tabelle group by id

so bekomme ich nur den ersten Datensatz innerhalb der Gruppe
und nicht den in dem der maximale wert drin ist.

id wert inhalt
1 2 bla2
1 5 bla5
1 3 bla3
2 3 bla3
2 4 bla4

und als Ausgabe brauche ich das:
1 5 bla5
2 4 bla2

einer eine Idee wie man da sonst noch rankommen kann ?
 
Hallo!

Tabelle heißt test:

Code:
mysql> select * from test;
+----+------+--------+
| id | wert | inhalt |
+----+------+--------+
|  1 |    2 | bla2   |
|  1 |    5 | bla5   |
|  1 |    3 | bla3   |
|  2 |    3 | bla3   |
|  2 |    4 | bla4   |
+----+------+--------+
5 rows in set (0.00 sec)

mysql> select id, max(wert), max(inhalt) from test group by id;
+----+-----------+-------------+
| id | max(wert) | max(inhalt) |
+----+-----------+-------------+
|  1 |         5 | bla5        |
|  2 |         4 | bla4        |
+----+-----------+-------------+
2 rows in set (0.00 sec)

Code:
select id, max(wert), max(inhalt) from test group by id;

Geht aber nur, wenn du immer sicherstellen kannst, dass im inhalts feld immer der gleiche Text mit der Nr. des dazu passenden Wertes am Schluss steht ...

Gruß Tom
 
Zuletzt bearbeitet:
Zurück