ホームページ > データベース > mysql チュートリアル > Oracle SQLで値の積を計算するにはどうすればよいですか?

Oracle SQLで値の積を計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-23 22:40:10
オリジナル
826 人が閲覧しました

How Can I Calculate the Product of Values in Oracle SQL?

Oracle SQL での値の積の計算

同僚が質問をしました。Oracle SQL は SUM 関数に似た関数を評価できますが、値を乗算しますか?私たちの知る限り、Oracle SQL はそのような明示的な製品機能を提供していません。ただし、対数計算と指数計算を使用してこの操作をシミュレートする実用的な手法があります。

次のクエリを考えてみましょう:

SELECT PRODUCT(X)
FROM
(
    SELECT 3 X FROM DUAL
    UNION ALL 
    SELECT 5 X FROM DUAL
    UNION ALL
    SELECT 2 X FROM DUAL
)
ログイン後にコピー

これにより、X 値の積を取得しようとします。 、これは 30 (3 x 5 x 2) になります。主な式は次のとおりです:

select exp(sum(ln(col)))
  from table;
ログイン後にコピー

この式では:

  • exp() は、各値の自然対数の合計の自然指数を計算します。指定された列に('col').
  • ln() は、'col' の各値の自然対数を計算します。
  • sum() は合計されます対数計算の結果。

たとえば、指定された値の場合(3, 5, 2) の場合、式は次のように展開されます。

exp(ln(3) + ln(5) + ln(2))
= exp(1.0986122886681096 + 1.6094379124341003 + 0.6931471805599453)
= exp(3.3912025714812163)
= 29.999999701269282
ログイン後にコピー

「col」に正の値のみが含まれる場合、この手法では正確な結果が得られます。正でない値の場合は、別のアプローチが必要になる場合があります。

以上がOracle SQLで値の積を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート