0

次のようなテーブルがあります。

id    B       C
a     0.5     10.1
b     0.6     2.3
c     0.9     2.1
d     15.2    8.2

そして、「Bが平均を下回っているCの標準偏差」のような量を計算したいと思います。

そして、私はそれを行う方法がわかりません。

select ssdev_pop(C) from (select B, C from table where B < avg(B) );

機能せず、一度に avg(B) にアクセスする方法がわかりません(計算して2番目のクエリにプラグインできることはわかっていますが、それを避けたいです)。

誰か助けてくれませんか?

4

1 に答える 1

2

これを試して、

SELECT stddev_pop(C) 
FROM
(
   SELECT B, C
   FROM   table1
   WHERE  B < (SELECT AVG(B) FROM table1 )
) s

デモ: http://www.sqlfiddle.com/#!2/9d570/8

于 2012-11-26T08:54:49.200 に答える