取得每位使用者的最新使用者記錄
假設您有一個表格包含使用者的簽到和簽退時間(「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中文網其他相關文章!