Jeweils aktuellsten Eintrag ausgeben

Diablo82

Mitglied
Also meine Tabelle besteht aus:

ID Stichtag



ID ist mehrfach vorhanden, denn jede Änderung in der Datenbank wir neu abgespeichert, so dass man praktisch jede Änderung an einer ID an Hand vom Stichtag sehen kann.

Ich möchte nun eine Ausgabe, welche mit die ID und den Stichtag ausgibt, allerdings NUR den der letzten Änderung.
 
du brauchst irgendwas eindeutiges (eigentlich die ID...), also etwas, was nur einmal vorkommt.

dein SELECT-befehl sieht dann so aus:
SELECT * FROM sonstwo WHERE irgendwas=schieß-mich-tot ORDER BY irgendwas DESC LIMIT 1

erklärung:
SELECT * FROM sonstwo -> alle Spalten aus der Tabelle sonstwo nehmen
WHERE irgendwas=schieß-mich-tot -> Nur die Zeilen nehemn, wo die Spalte "irgendwas" den Wert "schieß-mich-tot" hat
ORDER BY irgendwas DESC -> gewählte Datensätze werden absteigend nach der Spalte "irgendwas" sortiert (der letzte Eintrag steht oben)
LIMIT 1->Es wird nur die erste Zeile genommen (dank ORDER BY DESC in dem Fall die neuste)
 
Zuletzt bearbeitet:
Hi,

wie schaut der Stichtag aus? Im idealfall liegt der im Timestamp Format vor, da
wäre eine Abfrage sehr einfach.


Ich würde der Tabelle noch eine Spalte mit einer fortlaufenden ID geben, so könntest
du auch leicht den letzten selektieren ...

mfg
 
Naja die ID gibts an sich mehrmals in der Tabelle da ja jede Änderung gespeichert wird.
Sprich Ändere ich den Eintrag unter ID "abc" 10 mal dann habe ich 10mal den Eintrag mit ID "abc" nur halt immer mit anderem Stichtag.

bei Limit 1 bekomme ich ja nur eine Zeile ausgegeben, ich will aber jede ID ausgegeben haben, mit jeweils dem letzten Stichtag.
 
Annahme: Dein Stichtag ist als timestamp o.ä. sortierbares gespeichert:
Code:
SELECT MAX(`stichtag`) AS `stichtag`, `id` FROM `tabelle` GROUP BY `id`
Für so etwas gibt es hier eigentlich ein Datenbankforum..
 
Zurück