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

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: Gersen
Lösung Gersen 13.08.2014, aktualisiert am 14.08.2014 um 10:31:18 Uhr
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
Mitglied: mabue88
mabue88 14.08.2014 um 10:31:15 Uhr
Goto Top
Hallo Gersen,

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

Aber deine Abfrage funktioniert!

Danke
Gruss

mabue