Heim > Datenbank > MySQL-Tutorial > Wie rufe ich den aktuellsten Datensatz für jeden Benutzer in einer SQL-Datenbank ab?

Wie rufe ich den aktuellsten Datensatz für jeden Benutzer in einer SQL-Datenbank ab?

Susan Sarandon
Freigeben: 2025-01-13 13:01:45
Original
867 Leute haben es durchsucht

How to Retrieve the Most Recent Record for Each User in a SQL Database?

Rufen Sie den neuesten Benutzerdatensatz für jeden Benutzer ab

Angenommen, Sie haben eine Tabelle mit den Check-in- und Check-out-Zeiten eines Benutzers („lms_attendance“). Um einen Einblick in ihre Aktivitäten zu erhalten, möchten Sie möglicherweise eine Ansicht, die die neuesten Aktivitäten jedes Benutzers (Einchecken oder Auschecken) anzeigt.

Um dies in SQL zu erreichen, können Sie die folgende Abfrage verwenden:

<code class="language-sql">SELECT t1.*
FROM lms_attendance t1
WHERE t1.time = (SELECT MAX(t2.time)
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user);</code>
Nach dem Login kopieren

Diese Abfrage verwendet eine Unterabfrage, um die maximale Zeit für jeden Benutzer zu bestimmen und sicherzustellen, dass die letzte Aktivität erfasst wird. Das Ergebnis ähnelt der erwarteten Ausgabe:

<code>| ID | USER |       TIME |  IO |
--------------------------------
|  2 |    9 | 1370931664 | out |
|  3 |    6 | 1370932128 | out |
|  5 |   12 | 1370933037 |  in |</code>
Nach dem Login kopieren

Wenn Sie jedoch nur einen Datensatz pro Benutzer benötigen, ändern Sie die Abfrage wie folgt:

<code class="language-sql">SELECT t1.*
FROM lms_attendance t1
WHERE t1.id = (SELECT t2.id
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user            
                 ORDER BY t2.id DESC
                 LIMIT 1);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich den aktuellsten Datensatz für jeden Benutzer in einer SQL-Datenbank ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage