2017-07-12 32 views
0

我試圖規範配置單元中的列,這意味着我必須使列中的每個值在該列中除最大值。例如:我有一個表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來表達的最大值整個專欄。

回答

3

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 | 
+---+-----+-----+-----+ 
0

嘗試此

選擇A,B,C /(選擇MXA(從X C)),d從X

+0

有無你看過Hive標籤了嗎? –