首頁 >資料庫 >mysql教程 >如何檢索 SQL 資料庫中每個使用者的最新記錄?

如何檢索 SQL 資料庫中每個使用者的最新記錄?

Susan Sarandon
Susan Sarandon原創
2025-01-13 13:01:45861瀏覽

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

取得每位使用者的最新使用者記錄

假設您有一個表格包含使用者的簽到和簽退時間(「lms_attendance」)。為了深入了解他們的活動,您可能需要一個視圖來顯示每個使用者的最新活動(簽到或簽退)。

在SQL中實現此目的,您可以使用以下查詢:

<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>

此查詢使用子查詢來確定每個使用者的最大時間,確保捕獲最新的活動。結果將類似於預期輸出:

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

但是,如果您只需要每個使用者的一筆記錄,請修改查詢如下:

<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>

以上是如何檢索 SQL 資料庫中每個使用者的最新記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn