变量的半方差
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
我是 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