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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-29 08:35:11887瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn