Group by: Welches Element wird zurückgegeben?
am 31.10.2006 19:47:09 von Martin SchneiderHallo!
Ich habe ein einfache Tabelle:
CREATE TABLE mytable
(
id INT,
txt VARCHAR(16),
type CHAR(6)
) TYPE=MyISAM;
Insert into mytable set id=1, type="l", txt = "Text für id 1";
Insert into mytable set id=2, type="l", txt = "Text für id 2";
Insert into mytable set id=3, type="r", txt = "Text für id 3";
Insert into mytable set id=4, type="r", txt = "Text für id 4";
Ich möchte nun txt erhalten für jeden type, aber bei der maximalen id.
Das richtige Ergebnis wäre also:
+------+---------------+------+
| id | txt | type |
+------+---------------+------+
| 2 | Text für id 2 | l |
| 4 | Text für id 3 | r |
+------+---------------+------+
Ich bekomme aber nur dies hier hin:
mysql> select id, txt, type from mytable group by type;
+------+---------------+------+
| id | txt | type |
+------+---------------+------+
| 1 | Text für id 1 | l |
| 3 | Text für id 3 | r |
+------+---------------+------+
Das Ganze muß leider unter MySql 4.0.x laufen, also scheiden Subquerys
aus. Ideen? Oder geht es unter MySql 4.0.x nicht mit einer Abfrage?
Grüße
Martin