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

如何檢索資料庫中每個使用者的最新消息?

Linda Hamilton
發布: 2025-01-04 04:51:42
原創
467 人瀏覽過

How to Retrieve the Most Recent Message from Each User in a Database?

使用GROUP BY 檢索每組的最新記錄

在此上下文中,您有一個名為「messages」的表,其中包含“列” id」、「from_id」、「to_id」、「主題」、「訊息」和「時間戳記」。您的目標是從每個用戶中提取最新訊息,類似於Facebook 收件匣中的顯示。

提供的查詢「SELECT * FROM messages GROUP BY from_id」會產生每個使用者最舊的訊息最新的。要修正此問題,需要採用替代方法。

要取得最新訊息,您需要確定每個使用者的最大時間戳,並將此信息與「訊息」表連接起來。戳“(SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id)".

SELECT t1.* FROM messages t1
JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;
登入後複製
將此子查詢與原始查詢連接起來使用「from_id」和「timestamp」列的「messages」表。

    結果是一個僅包含每個使用者的最新消息的表,提供所需的功能。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板