sql—使用select查询向配置单元列添加值

s5a0g9ez  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(619)

我有一个配置单元表aaa有5列,比如a,b,c,d,e。我想在aaa中添加一列f,这样f的所有行都应该包含e的最大值。例子:
表aaa

A|B|C|D|E 
__________
1|2|3|4|5
2|3|4|5|6
3|4|5|6|7

将f列添加到aaa。最后一张table应该是这样的。

A|B|C|D|E|F 
___________
1|2|3|4|5|7 
2|3|4|5|6|7 
3|4|5|6|7|7
fslejnso

fslejnso1#

可以使用窗口函数:

select t.*, max(e) over() as f
from aaa t

我不建议存储这些派生信息,因为它很难维护(每当 e 任何行上的值发生更改,则可能需要重新计算 f 列)。
另一种方法是创建视图:

create view v_aaa as
select t.*, max(e) over() as f
from aaa t

相关问题