? 莫非我的提问方式不对?比如表 t 的字段t.a t.b t.c t.d t.e现在需要得到t.e, 每行t.e 都是前面四个字段的方差
create table TB ( a float, b float, c float, d float )insert into TB select 1,2,3,4 union all select 3,4,5,6 union all select 1,3,5,7 union all select 1.2,1.4,2.2,3.5select *,(power(a-[avg],2)+power(b-[avg],2)+power(c-[avg],2)+power(d-[avg],2))/4 from (select *,cast((a+b+c+d) as float)/4 as [avg] from TB) T a b c d avg (无列名) 1 2 3 4 2.5 1.25 3 4 5 6 4.5 1.25 1 3 5 7 4 5 1.2 1.4 2.2 3.5 2.075 0.816875
create table TB
(
a float,
b float,
c float,
d float
)insert into TB
select 1,2,3,4 union all
select 3,4,5,6 union all
select 1,3,5,7 union all
select 1.2,1.4,2.2,3.5select *,(power(a-[avg],2)+power(b-[avg],2)+power(c-[avg],2)+power(d-[avg],2))/4 from
(select *,cast((a+b+c+d) as float)/4 as [avg] from TB) T
a b c d avg (无列名)
1 2 3 4 2.5 1.25
3 4 5 6 4.5 1.25
1 3 5 7 4 5
1.2 1.4 2.2 3.5 2.075 0.816875
insert @t select 2
insert @t select 4
insert @t select 6
insert @t select 8select stdev(a) from @t
/*
----------------------
2.58198889747161(1 行受影响)
*/
select var(a) from @t
/*
----------------------
6.66666666666667(1 行受影响)
*/行转列后查询。