mabue88
Goto Top

MySQL - Abfrage um letzte Einträge unterschiedlicher Objekte zu erhalten?

Hallo,

ich sitze vor einer SQL-Abfrage, die ich einfach nicht hinbekomme.

Folgende Tabelle liegt vor:

Tabellenname: objektmeldungen
-------------------------------------------
id		INT		PRIMARY KEY		AUTO_INCREMENT
uhrzeit		DATETIME	NOT NULL
objekt_id	INT		NOT NULL
meldung		VARCHAR(256)	NOT NULL

Nun benötige ich eine Abfrage, um von jeder objekt_id die letzte Meldung zu erhalten.

Hier mal die Tabelle mit Beispieldaten:
id	uhrzeit		objekt_id	meldung
1	12:00:00	1		"Meldung von Objekt 1 um 12:00:00"  
2	12:02:00	2		"Meldung von Objekt 2 um 12:02:00"  
3	12:05:00	1		"Meldung von Objekt 1 um 12:05:00"  
4	12:06:00	2		"Meldung von Objekt 2 um 12:06:00"  
5	12:07:00	1		"Meldung von Objekt 1 um 12:07:00"  

Und hier das Ergebnis der Abfrage, die ich benötige:
id	uhrzeit		objekt_id	meldung
4	12:06:00	2		"Meldung von Objekt 2 um 12:06:00"  
5	12:07:00	1		"Meldung von Objekt 1 um 12:07:00"  

Kann mir jemand einen Tipp geben?

Danke

Content-Key: 246398

Url: https://administrator.de/contentid/246398

Printed on: April 25, 2024 at 10:04 o'clock

Member: Gersen
Solution Gersen Aug 13, 2014, updated at Aug 14, 2014 at 08:31:18 (UTC)
Goto Top
Hallo,

es mag wahrscheinlich einfacher gehen - aber n.m.M. sollte
select * from objektmeldungen where id in (select max(id) from objektmeldungen group by objekt_id);
funktionieren.

Gruß,
Gersen
Member: mabue88
mabue88 Aug 14, 2014 at 08:31:15 (UTC)
Goto Top
Hallo Gersen,

ob es einfacher geht weiss ich nicht... face-wink

Aber deine Abfrage funktioniert!

Danke
Gruss

mabue