Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die aktuellste Zeile für eine bestimmte ID in einer Tabelle ab? Nein Wie kann ich nur die neueste Zeile mit einer bestimmten ID aus einer Datenbanktabelle auswählen?
Stellen Sie sich eine Tabelle vor, die drei Zeilen mit derselben ID (1), aber unterschiedlichen Anmeldezeitstempeln enthält. Das Ziel besteht darin, nur die aktuellste Zeile abzurufen.
Ein Ansatz besteht darin, Aggregatfunktionen und Gruppierung zu verwenden. Indem Sie die Funktion MAX() nutzen, um den maximalen Anmeldezeitstempel für jede ID zu ermitteln, können Sie die aktuellste Zeile effektiv identifizieren. Gruppieren Sie die Ergebnisse nach der ID-Spalte, um die maximalen Anmeldezeitstempel für jede eindeutige ID zu erhalten.
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id
Um den gesamten entsprechenden Datensatz zu erhalten, führen Sie einen INNER JOIN zwischen der Originaltabelle und einer Unterabfrage durch, die die maximale Anmeldezeit zurückgibt Zeitstempel für jede ID. Verknüpfen Sie die beiden Tabellen in der ID-Spalte und filtern Sie basierend auf dem maximalen Anmeldezeitstempel. Dies ergibt die aktuellste Zeile für die angegebene ID.
Um beispielsweise die aktuellste Zeile für ID=1 abzurufen:
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
Das obige ist der detaillierte Inhalt vonWie rufe ich die aktuellste Zeile für eine bestimmte ID in einer Tabelle ab? Nein Wie kann ich nur die neueste Zeile mit einer bestimmten ID aus einer Datenbanktabelle auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!