Hallo 1211chef,
ich brauche für die ausgabe jeweils NUR den jüngsten datensatz pro gruppe, weil immer im jüngsten ds eine info steht die ich brauche. ansonsten wär´s wurscht. wie mach ich das am einfachsten?
Für dieses Problem gibt es keine einfache Lösung. Wenn wir davon ausgehen, dass die Kombination bla1+bla2, time
eindeutig ist, gibt es eine Lösung mit einem Subquery und einem Join:
CREATE TABLE t1 (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
v1 INTEGER NOT NULL,
v2 INTEGER NOT NULL,
time TIMESTAMP
);
INSERT INTO t1 (v1, v2, time) VALUES (1234, 1234, NOW());
INSERT INTO t1 (v1, v2, time) VALUES (1234, 1234, NOW());
INSERT INTO t1 (v1, v2, time) VALUES (1235, 1235, NOW());
INSERT INTO t1 (v1, v2, time) VALUES (1235, 1235, NOW());
SELECT t1.* FROM (SELECT v1+v2 combined_t, MAX(time) time FROM t1 GROUP BY v1+v2) grp INNER JOIN t1 ON t1.v1+t1.v2 = combined_t AND t1.TIME = grp.time;
Wenn nicht, dann hast du ein Problem, dann kannst du da nämlich schweres Geschütz auffahren ;)
LG,
CK