首頁 > 資料庫 > mysql教程 > 如何檢索 SQL 表中給定 ID 的最新行?

如何檢索 SQL 表中給定 ID 的最新行?

Mary-Kate Olsen
發布: 2024-12-29 08:35:11
原創
883 人瀏覽過

How to Retrieve the Most Recent Row for a Given ID in a SQL Table?

識別給定 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中文網其他相關文章!

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