Oracleで合計を使用して乗算する
Oracleの「合計」関数を使用すると、指定した列のすべてのデータを合計して、クエリ結果に結果を表示できます。合計関数で複数の機能を使用して、合計関数の結果を乗算できます。この機能は、いくつかの数学的結果をユーザーに返す必要がある複雑なクエリで使用します。
目的
sum関数の目的は、Oracleデータベースエンジンを使用してデータの複数の行をすばやく合計することです。合計関数は高速であるため、ループ構造で値を手動で合計する必要はありません。これにより、データベースサーバーの速度が低下します。合計関数と乗算機能を一緒に使用すると、2つの値に対して2つのクエリを作成しなくても、合計と乗算された積の2つの値を取得できます。
合計関数
合計関数は、「選択」クエリで使用されます。合計する列を合計関数で指定する必要があります。次のコードは、すべての顧客注文を合計し、結果を表示します。
customerid = 22の注文からの合計としてsum(order_total)を選択します
上記のクエリの結果は、顧客ID22の合計金額を示しています。
かける
合計関数を記述した後、指定した数値を乗算するか、乗算式に別の列を使用できます。たとえば、次のコードは、合計に顧客が生成した注文の数を掛けます。
customerid = 22の注文からsum(order_total)をTotal、sub(order_total)* count(orderid)として選択します
上記のクエリは両方の結果を示していますが、2つの方程式を1つに組み合わせて、結果に1つの値を生成することができます。
考慮事項
個々のレコードを乗算する必要がある場合は、レコードごとにクエリを作成する必要があります。Oracleでカーソルを作成して、多数のレコードをループし、各結果を変数に記録することもできます。Oracleではカーソルの速度が遅くなりますが、複数のレコードの結果を個別に返すオプションが1つしかない場合に使用されます。