使用GROUP BY 尋找每個群組中的最新記錄
識別按特定列分類的每個群組中的最新記錄,例如寄件者ID,有兩個選項要考慮:
選項1:決定最後一個時間戳記值
此技術涉及尋找每個組的最新時間戳值。此方法的範例查詢是:
SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id
選項2:連接計算值
另一種方法是將原始表與子查詢的結果結合起來確定每組的最大時間戳。以下查詢舉例說明了這種方法:
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;
透過使用這兩種方法中的任何一種,您可以檢索每個不同寄件者ID 的最新消息,從而提供最近對話的更全面的視圖。
以上是如何使用SQL的GROUP BY來尋找每個群組中最新的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!