識別給定 ID 的最新行:
提供的表包含多行,不同 id 值的登入時間戳不同。這裡的目標是根據登入列檢索特定 id 值 (id=1) 的最新行。
使用 MAX() 聚合和 GROUP BY:
實現此目的的一種方法是使用 MAX() 聚合函數和 GROUP BY 子句。以下查詢聚合每個唯一 id 的最大登入時間戳記:
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id;
此查詢產生一個包含兩列的表:id 和most_recent_signin。 most_recent_signin 欄位包含每個 id 的最近登入時間戳記。
檢索完整記錄:
但是,如果目標是檢索完整記錄(包括所有columns) 對於最近的行>
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;
此查詢在tbl表和a 之間執行INNER JOIN選擇每個id 的最大登入時間戳記的子查詢(毫秒)。然後它會過濾結果以僅包含具有 > 的行
以上是如何檢索 SQL 表中給定 ID 的最新行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!