use*_*587 2 sql hive normalize hiveql
我正在尝试规范化配置单元中的列,这意味着我必须使列中的每个值除以该列中的最大值.例如:我有一张桌子X:
A B C D
1 0.1 3 0.2
2 0.2 4 0.5
3 0.3 5 0.2
Run Code Online (Sandbox Code Playgroud)
我想规范化列C,请求的表Y是:
A B C D
1 0.1 0.6 0.2
2 0.2 0.8 0.5
3 0.3 1 0.2
Run Code Online (Sandbox Code Playgroud)
我不知道如何编写SQL来表示整列的最大值.
max 窗口功能
select a
,b
,c / max(c) over () as c
,d
from x
Run Code Online (Sandbox Code Playgroud)
+---+-----+-----+-----+
| a | b | c | d |
+---+-----+-----+-----+
| 1 | 0.1 | 0.6 | 0.2 |
| 2 | 0.2 | 0.8 | 0.5 |
| 3 | 0.3 | 1 | 0.2 |
+---+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)