select *,
(a / 100) as a_calc,
(select sum(a_calc) from foo where c = ? and d = ?) as a_calc_sum
from foo
where c = ? and d = ?
order by a;
ここでの目的は、元のクエリに一致するすべての行を (合計なしで) 返し、別のクエリを発行する代わりに、mysql に a_calc の合計を計算させることです。サブセレクトがないと、正しい合計が添付されたクエリの最初の行しか取得できないようです。
上記のクエリを減らす方法はありますか?