首页 > 数据库 > mysql教程 > 如何检索表中特定 ID 的最新行? 或 如何从数据库表中仅选择具有给定 ID 的最新行?

如何检索表中特定 ID 的最新行? 或 如何从数据库表中仅选择具有给定 ID 的最新行?

Linda Hamilton
发布: 2024-12-29 05:28:10
原创
585 人浏览过

How to Retrieve the Most Recent Row for a Specific ID in a Table?
或
How Can I Select Only the Latest Row with a Given ID from a Database Table?

检索具有特定 ID 的最新行

考虑一个包含具有相同 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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板