获取历史表的每个外键的最后一个条目的正确方法是什么?

nin*_*ino 3 sql database oracle

我总是想知道在某个外键的历史表中找到最后一个条目的正确方法是什么?

例:

我们假设我们有一个这样的表:

tHistory(ID | FK_User |状态|时间戳)

在Oracle中读取每个FK_User ID的lates条目的正确方法是什么?我总是使用一个subselect为此,但它看起来不对我...任何其他方法这样做?

Mat*_*lie 5

另一种方法是使用相关的子查询来确定最后的日期......

SELECT
  *
FROM
  tHistory
WHERE
  timestamp = (
    SELECT
      MAX(timestamp)
    FROM
      tHistory latest
    WHERE
      FK_User = tHistory.FK_User
  )
Run Code Online (Sandbox Code Playgroud)