我试图规范化配置单元中的列,这意味着我必须使列中的每个值除以该列中的最大值。例如:我有一张桌子X:
A B C D
1 0.1 3 0.2
2 0.2 4 0.5
3 0.3 5 0.2
我想规范化列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
我不知道如何编写SQL来表示整列的最大值。
答案 0 :(得分:6)
max
窗口函数
select a
,b
,c / max(c) over () as c
,d
from x
+---+-----+-----+-----+
| a | b | c | d |
+---+-----+-----+-----+
| 1 | 0.1 | 0.6 | 0.2 |
| 2 | 0.2 | 0.8 | 0.5 |
| 3 | 0.3 | 1 | 0.2 |
+---+-----+-----+-----+
答案 1 :(得分:0)
试试这个
选择a,b,c /(从X中选择MXA(C)),d从X