私はデータベースを持っており、クエリを使用して次のような中間テーブルを作成します。
id a b
xx 1 2
yy 7 11
そして、<avg(a)を持つユーザーのbの標準偏差を計算したいと思います。
私はavg(a)をそのように計算し、それはうまく機能します:
select avg(select a from (query to produce intermediate table)) from table;
しかし、クエリ:
select stddev_pop(b)
from (query to produce intermediate table)
where a < (select avg(select a
from (query to produce intermediate table))
from table);
エラーを返します。より正確には、avg(select a from ...)の「a」が認識されないと言われます。これは前のクエリで機能するため、私は本当に混乱します。
誰かが助けてくれたらありがたいです。
編集:
クエリの結果を保存して中間テーブルを一時テーブルに生成しましたが、それでも同じ問題が発生します。動作しないクエリは次のようになります。
select stddev_pop(b) from temp where a < (select avg(a) from temp);
これが機能している間:
select avg(a) from temp;