TL; DR
算術演算で集計結果を使用する方法はありますか?MySQLの集約型カラムに算術演算を適用するにはどうすればよいですか?
詳細
私は例えば、2つの集約列(SUM(..)
、COUNT(..)
)を取り、それらを一緒に操作したい:動作しません
-- doesn't work
SELECT
SUM(x) AS x,
COUNT(y) AS y,
(x/y) AS x_per_y -- Problem HERE
FROM
my_tab
GROUP BY groupable_col;
が、私はこれが行う見つけた:
を
しかし、私は集約で動作する多くの列が必要な場合、すぐに非常に反復的になります.MySQL集計を複数回計算しないように最適化することができます。
私は今しばらくの間、SO検索だけでなく、いくつかの長所を聞くと、私が思い付くことができる最高の選択肢は私のDBがサポートされていないネストされた選択、~~できました。~~
EDIT:(それがサポートにそれらをした、私が何か間違ったことをやっていた、と途中で
をネストされた選択を除外はまた、MySQLのドキュメントは、それをサポートするようだが、私はこのような何かを動作させることはできませんリンク最下部の例)
https://dev.mysql.com/doc/refman/5.5/en/group-by-handling.html
複数の回の集計を書くよりもオーバーヘッドが多い.AFAIK、mysql doenstは同じ操作を再度実行して、値がリサイクルされるようにする(クエリごとに) – Mihai