返回新列中的最大值

bd5*_*528 0 sql oracle

我有以下数据

Pet xVal
Cat 1
Cat 7
Cat 9
Dog 2
Dog 3
Dog 4
Run Code Online (Sandbox Code Playgroud)

是否可以在附加列中返回每个数据集的最高值?所以上面的数据,期望输出将是: -

Pet xVal Largest
Cat 1    9
Cat 7    9
Cat 9    9
Dog 2    4
Dog 3    4
Dog 4    4
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 5

这可以使用窗口函数完成:

select pet, xval, max(xval) over (partition by pet) as largest
from the_table;
Run Code Online (Sandbox Code Playgroud)