野球の 1 シーズン分のチームの勝率を出力する関数を SQL で記述しようとしています。
CREATE FUNCTION
calc_winning_percentage(IN w integer, IN l integer, OUT p numeric)
RETURNS numeric AS $$
SELECT $1 ::numeric/$1 + $2 AS p;
$$ LANGUAGE SQL;
これが現在の機能です。それは非常に単純でなければなりません。W = 勝ち。L = 損失。P = パーセンテージ。勝ち (w) を取り、それを勝ち + 負け (w + l) で割ります。理論的には、これで勝率が決まります。
すでに提供されているデータをいくつか取り出して、プラグインしてみました。近いですが、正しくありません。96 勝 63 敗のチームがあるとします。この 2 つの数値を合計すると、159 になります。96/159 = ~.604 です。ただし、これらの数値をクエリで実行すると、64.0000 になります。
私は他の言語で関数を書くのはそれほど得意ではありません (約束します)。