Hallo an alle,
Ich habe ein Programm, das von jeder Veränderung eine neue Zeile in eine History-Tabelle anlegt.
Die Tabelle ist mit folgenden Spalten (unter anderem) besetzt.
Action (insert,delete,update)
dt_datetime (datetime von Erstellung)
ID
Abteilung(integer der Abteilung)
...
Nun zur Frage:
Wenn verschiedene Benutzer eine Zeile editieren, kommen mehrere Zeilen der History-Tabelle zusammen.
kann ich meine extrem große History-Tabelle so kürzen, dass immer nur die letzte Zeile von einer Abteilung vorkommt?
Beispiel:
...
Ziel:
...
Es soll immer die letzte Zeile einer Veränderungshistorie angezeigt werden und das pro Abteilung, nach Datum sortiert.
geht das im SQL überhaupt, oder muss die Tabelle über das Programm im Nachhinein bearbeitet werden?
Dem MySQL Server ist momentan "langweilig" also wäre ein zuverlässiges Query die Wahl.
Ich habe ein Programm, das von jeder Veränderung eine neue Zeile in eine History-Tabelle anlegt.
Die Tabelle ist mit folgenden Spalten (unter anderem) besetzt.
Action (insert,delete,update)
dt_datetime (datetime von Erstellung)
ID
Abteilung(integer der Abteilung)
...
Nun zur Frage:
Wenn verschiedene Benutzer eine Zeile editieren, kommen mehrere Zeilen der History-Tabelle zusammen.
kann ich meine extrem große History-Tabelle so kürzen, dass immer nur die letzte Zeile von einer Abteilung vorkommt?
Beispiel:
action | dt_datetime | ID | Abteilung |
update | 2016-06-16 00:00 | 1 | 1 |
update | 2016-06-16 00:30 | 1 | 1 |
update | 2016-06-16 5:00 | 1 | 1 |
update | 2016-06-16 6:00 | 1 | 2 |
Ziel:
update | 2016-06-16 5:00 | 1 | 1 |
update | 2016-06-16 6:00 | 1 | 2 |
Es soll immer die letzte Zeile einer Veränderungshistorie angezeigt werden und das pro Abteilung, nach Datum sortiert.
geht das im SQL überhaupt, oder muss die Tabelle über das Programm im Nachhinein bearbeitet werden?
Dem MySQL Server ist momentan "langweilig" also wäre ein zuverlässiges Query die Wahl.