>检索Oracle
中每个唯一用户ID的最大值本指南演示了如何从Oracle表中有效提取与每个不同用户ID关联的最大值。 假设一个构成如下的表:
<code>UserId, Value, Date</code>
的目的是检索UserId
及其相应的Value
,其中Date
是每个用户的最新产品。
此查询使用A
<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>将
(将为LEFT OUTER JOIN
)中的每一行与所有其他行(Aliased as t1
确保仅考虑以后日期的行。
t2
UserId
子句过滤结果。 t1."Date" < t2."Date"
的行,并且后来存在。 因此,这些行表示每个用户的最大日期。
WHERE t2.UserId IS NULL
t2.UserId
>示例:NULL
UserId
Date
如果
> 查询将返回:
mytable
这种方法是有效的,避免了对子征服或窗口功能的需求,这使其成为Oracle数据库的强大解决方案。
以上是如何查找 Oracle 表中每个不同用户 ID 的最大值?的详细内容。更多信息请关注PHP中文网其他相关文章!