这将检索其my_date列值等于该用户ID的my_date最大值的所有行。这可能会为用户ID检索多行,其中最大日期在多行上。
select userid, my_date, ...from(select userid, my_date, ... max(my_date) over (partition by userid) max_my_datefrom users)where my_date = max_my_date
“分析功能摇滚”
编辑:关于第一个评论…
“使用分析查询和自联接会破坏分析查询的目的”
此代码中没有自联接。而是在包含分析功能的内联视图的结果上放置一个谓词-一个完全不同的问题,并且是完全标准的实践。
“ Oracle中的默认窗口是从分区的第一行到当前窗口”
windowing子句仅在order by子句存在的情况下适用。如果没有order by子句,则默认情况下不应用任何窗口子句,并且不能显式指定任何子句。
该代码有效。



