MySQL größten Wert innerhalb von Gruppe darstellen

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Hier mal ein Beispiel wie man unter MySQL den größten Wert einer Gruppe anzeigen kann:
Bsp.:
Code:
 mysql> select * from foo;
 +------+----------+-------+
 | id   | other_id | title |
 +------+----------+-------+
 |	1 |		1 | A	 |
 |	2 |		1 | B	 |
 |	3 |		1 | C	 |
 |	4 |		2 | D	 |
 +------+----------+-------+
 4 rows in set (0.00 sec)

Unsere Abfrage:
Code:
   select a.id,a.title from foo a LEFT JOIN foo b ON a.other_id = b.other_id AND a.id < b.id WHERE b.id IS NULL;

Ergibt:
Code:
 +------+-------+
 | id   | title |
 +------+-------+
 |	3 | C	 |
 |	4 | D	 |
 +------+-------+
 2 rows in set (0.00 sec)

Funktioniert auch mit MySQL Version < 4.1 :)

Gruß Tom
 
Soeben trat in einem anderen Thread das Problem auf, dass bei dieser Art Query auch die Datensätze in der Gruppe gezählt werden sollten. Ein weiterer JOIN löst das Problem, wenn man sich die Anzahl der Datensätze noch zurecht rechnet.
Die Lösung habe ich in dem anderen Thread gepostet.

Gruß hpvw
 
Zurück