所以我有2列我想要进行除法然后我想在结果列上做一个stdev我正在尝试以下sql但它不起作用我还没有弄清楚如何保存内部选择为一个变量,然后只对该var执行stdev。我吠叫错了树吗?有任何想法吗?
select
stdev(
select
convert(decimal(20,5),convert(decimal(20,5),(s.received))
/convert(decimal(20,5),(s.sent)))*100 as DDR
from someTable s
where s.SomethingName = 'thisthingsName'
and s.Date like '2015-04-16%'
)
from someTable
答案 0 :(得分:1)
select
stdev(
convert(decimal(20,5),convert(decimal(20,5),(s.received))
/ convert(decimal(20,5),(s.sent)))*100
) as deviation
from
someTable s
where
s.SomethingName = 'thisthingsName'
and s.Date like '2015-04-16%'
请注意,如果您的SQL Server版本是2008或更高版本,您也可以执行
and cast(s.Date as date) = '2015-04-16'
并且在SQL Server 2012中可以执行
and cast(s.Date as date) = DATEFROMPARTS(2015,04,16)
而不是日期字段上的(非完全!)字符串比较。