私はデータベースを持っている、と私はこのような中間テーブルを作成するクエリを使用します。ネストされたクエリ
id a b
xx 1 2
yy 7 11
と私が持っているユーザーのために、Bの標準偏差を計算したいと思います< AVGは(a)の
私は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(aから選択)は認識されないと言われています。これは、前のクエリで動作するので、私は本当に混乱します。
誰かが助けてくれれば幸いです。
編集:私は、一時テーブルに仲介テーブルを生成し、それでも同じ問題に遭遇することが私のクエリの結果を格納し
。 非作業クエリは次のようになります。
select stddev_pop(b) from temp where a < (select avg(a) from temp);
をこの作品ながら:
select avg(a) from temp;
@Bob Duell編集に感謝!そんなに丁寧に – S4M