Also ausformuliert: Zu jeder Person das Tuple mit dem höchsten Timestamp.
Verwendetes Datenbanksystem ist mysql 5.0.21
Ich hab schon sämmlich Varianten mit Group By, Having und MAX ausprobiert komme aber ohne die Verwendung von Unterabfragen einfach nicht auf das Ergebnis oben. (Das Problem habe ich nur mit MySQL, mit MSSQL geht es mit einer Kombination aus Group by und der MAX-Funktion)
Ich hab schon sämmlich Varianten mit Group By, Having und MAX
ausprobiert komme aber ohne die Verwendung von Unterabfragen
einfach nicht auf das Ergebnis oben. (Das Problem habe ich nur
mit MySQL, mit MSSQL geht es mit einer Kombination aus Group
by und der MAX-Funktion)
Die Anweisung von MSSQL sollte bei MySQL auch funktionieren. Ich arbeite neben MSSQL mit MySQL 5.0.16 und da gehts.
wenn ich mich jetzt nicht vertippt habe, beim verändern des Statements, welche ich immer verwenden, dann geht dies auch
Wahrscheinlich nur bei MySQL:
select distinct
tabelle1.pers_id
substring_index(x.max_time_stamp_nummer, ’ | ', -1),
substring_index(x.max_time_stamp_nummer, ’ | ', 1)
from
tabelle1
(
select
pers_id,
cast(
max(
concat(
time_stamp,
’ | ',
nummer
)
) as char(100)
) as max_time_stamp_nummer
from
tabelle1
group by
pers_id
) x
where
tabelle1.pers_id = x.pers_id
order by
tabelle1.pers_id