McA*_*hey 0 sql oracle analytic-functions oracle10g window-functions
我有一个 Oracle 查询,我想在合并 NULL 时通过 PARTITION 返回 MAX()。
例如,如果原始数据是:
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 亚当 | 01/22/14 00:01 亚当 | 01/23/14 00:02
使用以下查询返回以下内容:
MAX(date) OVER (PARTITION BY name ORDER BY date)
Run Code Online (Sandbox Code Playgroud)
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 01/22/14 00:01 亚当 | 01/23/14 00:02 亚当 | 01/23/14 00:02
是否有可能让它像 NULL 是一个 MAX() 值一样,所以它会返回以下内容?
姓名 | 日期 ----------------------- 亚当 | 01/21/14 00:00 亚当 | 亚当 | 亚当 |
是的,您可以使用解析函数:
FIRST_VALUE(date_col) OVER (PARTITION BY name ORDER BY date_col DESC NULLS FIRST)
Run Code Online (Sandbox Code Playgroud)
在SQL-Fiddle测试