考慮一個包含具有相同 ID (1) 但登入時間戳記不同的三行的表。目標是僅檢索其中的最新行。
一種方法涉及使用聚合函數和分組。透過利用 MAX() 函數來尋找每個 ID 的最大登入時間戳,您可以有效地識別最新行。按 ID 列將結果分組,以獲得每個唯一 ID 的最大登入時間戳記。
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id
要取得整個對應記錄,請在原始資料表和傳回最大登入的子查詢之間執行 INNER JOIN每個 ID 的時間戳記。在 ID 列上連結兩個表,並根據最大登入時間戳進行篩選。這將產生指定 ID 的最新行。
例如,要擷取 ID=1 的最新行:
SELECT tbl.id, signin, signout FROM tbl INNER JOIN ( SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id ) ms ON tbl.id = ms.id AND signin = maxsign WHERE tbl.id=1
以上是如何檢索表中特定 ID 的最新行? 或 如何從資料庫表中僅選擇具有給定 ID 的最新行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!