2016-03-18 42 views
1

如果我有以下選擇查詢:鴻溝兩列進組由功能SQL

select col1, col2, col3, sum(value1) as col4, col5 
from table1 
group by col1, col2, col3, col5 

如何添加COL6 = COL4/COL5?

回答

1

您無法訪問SELECT子句中的別名。所以,你必須重複sum(value1)

select col1, col2, col3, 
     sum(value1) as col4, 
     col5, 
     sum(value1)/col5 as col6 
from table1 
group by col1, col2, col3, col5 
+0

感謝您的幫助! - >沒有必要將COL6添加到組中? – 4est

+0

@ 4est不,此字段使用聚合函數(總和)中出現的聚合字段(col5)和非聚合字段(value1)進行計算。 –

0

您可以在select語句中執行操作。但是,您不能在其中使用SQL語句的別名。所以你需要再次對col4進行計算。只需添加sum(value1)/col5 as col6

select col1, col2, col3, sum(value1) as col4, col5, sum(value1)/col5 as col6 
from table1 
group by col1, col2, col3, col5 
1

執行GROUP BY在派生表:

select col1, col2, col3, col4, col5, col4/col5 as col6 
from 
(
    select col1, col2, col3, sum(value1) as col4, col5 
    from table1 
    group by col1, col2, col3, col5 
) dt 
+0

@ JamieD77,謝謝你的更正!週末愉快! (我很開心,終於是星期五了,我需要休息。) – jarlh