mabue88
Goto Top

MySQL - Aktuellste Datensätze aus Tabelle ermitteln

Hallo,

ich habe eine Tabelle "aktionen_log" mit den folgenden Spalten
- id
- uhrzeit
- benutzer
- aktion

In der Tabelle werden Aktionen von Benutzern abgelegt.

Das Ergebnis der Abfrage
Select * from aktionen_log
könnte z.B. so aussehen:
id	uhrzeit	benutzer		aktion
---------------------------------------------------
1	20:00	user1		Aktion 1 ausgeführt
2	20:01	user3		Aktion 1 ausgeführt
3	20:02	user1		Aktion 2 ausgeführt
4	20:03	user2		Aktion 1 ausgeführt
5	20:04	user1		Aktion 1 ausgeführt
6	20:05	user2		Aktion 2 ausgeführt


Nun benötige ich einen View, dessen Ergebnis lediglich die letzte Aktion jedes Benutzers anzeigt, z.B.:
id	uhrzeit	benutzer		aktion
---------------------------------------------------
2	20:01	user3		Aktion 1 ausgeführt
5	20:04	user1		Aktion 1 ausgeführt
6	20:05	user2		Aktion 2 ausgeführt

Als Abfrage bekomme ich das hin:

SELECT *
FROM aktionen_log
INNER JOIN(
SELECT MAX(id) AS aktuelle_id, benutzer
from aktionen_log
group by benutzer)
AS select2
ON select2.aktuelle_id = aktionen_log.ig

Content-ID: 265241

Url: https://administrator.de/forum/mysql-aktuellste-datensaetze-aus-tabelle-ermitteln-265241.html

Ausgedruckt am: 16.02.2025 um 19:02 Uhr

LianenSchwinger
LianenSchwinger 05.03.2015 um 07:27:31 Uhr
Goto Top
Hallo mabue88,

in MySql besteht für Views die Beschränkung, dass kein Unterabfrage im Select-Statement benutzt werden kann.
In Deinem Fall musst Du wohl einen 2. View mit der Unterabfrage erstellen.

G Jörg
114757
114757 05.03.2015 aktualisiert um 08:28:04 Uhr
Goto Top
Moin,
machs doch so
SELECT MAX(id) as id, uhrzeit,benutzer,aktion FROM aktionen_log GROUP BY Benutzer
Gruß jodel32
mabue88
mabue88 05.03.2015 um 08:43:25 Uhr
Goto Top
@LianenSchwinger:
Das würde gehen!

@114757:
Mit der Abfrage bekomme ich zwar die höchste ID jedes Benutzers, aber die Daten in den Spalten 'uhrzeit' und 'aktion' sind nicht unbedingt die, welche zu der jeweiligen ID gehören...
114757
114757 05.03.2015 aktualisiert um 08:58:28 Uhr
Goto Top
Mit der Abfrage bekomme ich zwar die höchste ID jedes Benutzers, aber die Daten in den Spalten 'uhrzeit' und 'aktion' sind nicht unbedingt die, welche zu der jeweiligen ID gehören...
?? Könnte ich hier nicht nachvollziehen ...
Klappt hier wunderbar ohne Fehler und falscher Zuordnung !