mysql の group by で積を計算する方法のメモ。
group by を使えば sum() で和を計算することはできますが、積を計算する関数はありませんが、
以下のように log10() と pow() を使えば、積を計算することができます。
実行結果は以下の通りです。
積が計算できていることがわかります。
group by を使えば sum() で和を計算することはできますが、積を計算する関数はありませんが、
以下のように log10() と pow() を使えば、積を計算することができます。
create table pro ( id integer, val float ); insert into pro set id = 1, val = 2; insert into pro set id = 1, val = 3; insert into pro set id = 1, val = 4; insert into pro set id = 1, val = 5; insert into pro set id = 2, val = 2; insert into pro set id = 2, val = 3; insert into pro set id = 2, val = 4;
select id , pow(10, sum(log10(val))) from pro group by id ;
実行結果は以下の通りです。
id pow(10, sum(log10(val))) 1 120 2 24
積が計算できていることがわかります。