首页 > 数据库 > mysql教程 > 如何在Oracle中查找每个ID具有最新值的用户?

如何在Oracle中查找每个ID具有最新值的用户?

Barbara Streisand
发布: 2025-01-25 18:27:08
原创
541 人浏览过

How to Find Users with the Latest Values for Each ID in Oracle?

Oracle数据库中查找每个ID的最新值

在Oracle数据库中,可以使用外连接从表中提取特定行。要查找另一列中每个不同值对应的特定列的最大值的行,请按照以下步骤操作:

<code class="language-sql">SELECT t1.*
FROM mytable t1
LEFT OUTER JOIN mytable t2 ON (t1.UserId = t2.UserId AND t1.Date < t2.Date)
WHERE t2.UserId IS NULL;</code>
登录后复制

说明:

  1. 外连接根据UserId匹配且t1中的日期小于t2中的日期的条件将t1与t2连接。
  2. 对于每对匹配的行,查询选择t1中的所有列。
  3. WHERE子句过滤掉t2中存在日期更大的匹配行的行。这确保只返回每个UserId的最高日期的行。

注意:

此查询仅考虑Date列,忽略表中的其他列。要调整查询以进行其他过滤,请相应地修改连接条件。

以上是如何在Oracle中查找每个ID具有最新值的用户?的详细内容。更多信息请关注PHP中文网其他相关文章!

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