变量的半方差

Semivariance of variable

我是 sql 的新手,我遇到了这样的问题。假设我有一个像这样的 table:

Date          Value   
2014-01-01    1248.56
2014-01-02    1247.24
2014-01-03    1245.82
2014-01-04    1252.07
...

我只想计算变量 'Value' 的半方差。 半方差只考虑那些小于样本平均值的记录。所以基本上它只是简单方差的转换。 如有任何帮助,我们将不胜感激!

你可以试试这个

SELECT COUNT(*)
FROM
Table1
WHERE Value < (SELECT AVG(Value) FROM Table1)

如果你需要平均价值那么你可以使用这样的代码。

CREATE TABLE #test
(
    date DATE,
    value NUMERIC(10,2)
)

INSERT INTO #test VALUES ('2014-01-01'   , 1248.56 ),
('2014-01-02'   ,    1247.24),
('2014-01-03'   ,    1245.82),
('2014-01-04'   ,    1252.07);


SELECT * FROM #test a
CROSS JOIN (SELECT AVG(value) avg_value FROM #test)  b
WHERE a.value < b.avg_value