Neueste Zeile basierend auf der ID abrufen
In einer Datenbanktabelle, die mehrere Zeilen für jede ID enthält, besteht die Aufgabe darin, nur die aktuellsten abzurufen Aktuelle Zeile für eine angegebene ID. Betrachten Sie die folgende Tabelle:
+----+---------------------+---------+ | id | signin | signout | +----+---------------------+---------+ | 1 | 2011-12-12 09:27:24 | NULL | | 1 | 2011-12-13 09:27:31 | NULL | | 1 | 2011-12-14 09:27:34 | NULL | | 2 | 2011-12-14 09:28:21 | NULL | +----+---------------------+---------+
Um die aktuellste Zeile mit der ID = 1 basierend auf der „Signin“-Spalte zu erhalten, aggregieren Sie die „Signin“-Spalte mit der Funktion MAX() und gruppieren Sie nach ID:
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id
Diese Abfrage gibt den Zeitstempel der letzten „Anmeldung“ für jede ID zurück.
Um die vollständige Zeile zu extrahieren, die der letzten „Anmeldung“ zugeordnet ist, führen Sie Folgendes aus: ein INNER JOIN für eine Unterabfrage, die den MAX('signin') für jede ID zurückgibt:
SELECT tbl.id, signin, signout FROM tbl INNER JOIN ( SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id ) ms ON tbl.id = ms.id AND signin = maxsign WHERE tbl.id=1
Diese Abfrage ruft die ID, 'signin' und 'signout' für die Zeile mit der aktuellsten ' ab. Anmelden für ID = 1.
Das obige ist der detaillierte Inhalt vonWie rufe ich die aktuellste Zeile für eine bestimmte ID in einer Datenbanktabelle ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!