2016-10-17 7 views
0

私は個々の値を取って、それらの合計を列内で分割しようとしています。集計関数の使用に関する問題

I.e.

SELECT (column1/SUM(column1)) 
FROM Table a 

これはうまく動作しますが、私は、情報の他の必要な部分...

SELECT column2 
     ,(column1/SUM(column1)) 
FROM Table a 

が含まれている場合、それはどちらかの集計に含まれていないため、列1は、選択リストでは無効です返します関数またはGROUP BY句を使用します。

次に、group by句の中にcolumn2を含めると、my SUMの目的を破って、column2の値に応じて以前の値が再集計されます。

ヘルプ?

+2

を与え、あなたはありますMySQLまたはSQL Serverを使用していますか? –

答えて

0

COLUMN1の合計を取得するための完全な明示的なサブクエリを使用します。

SELECT column2, 
     column1/(SELECT SUM(column1) FROM Tablea) 
FROM Tablea 
0

あなたは和ウィンドウ関数を使用することができます - 合計(カラム1)(以上)は - 合計に

SELECT column2, column1/(SUM(column1) OVER()) FROM YourTable