実現したいこと
商品全体の利益率平均を表示したい
前提
PostgreSQLにおいて、欠損値が含まれている場合の対処について、
本来ならCOALESCEなどでNULL回避をすると思うのですが、それ以外で記述されている
クエリを見て、どのような原理なのかわかりません。
該当のソースコード
PostgreSQL SELECT AVG((unit_price * 1.0 - unit_cost) / unit_price) AS unit_profit_rate FROM tbl ;
補足情報(FW/ツールのバージョンなど)
上記のクエリで問題なく動作しており、
AVG((COALESCE(unit_price, 1.0) - unit_cost) / COALESCE(unit_price, 1.0)) AS unit_profit_rate
と記述したのと同じ結果が出力されるのですが、
なぜ1を掛けることで欠損値を回避できているのかわかりません。
初歩的な質問かもしれませんが、お分かりになる方いらっしゃいましたらご教示いただけますと幸いです。
0 コメント