如何规范化配置单元中的列?

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来表示整列的最大值.

Dav*_*itz 7

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)