按进程名称分组的标准偏差日期时间列

时间:2015-08-17 20:51:23

标签: sql sql-server statistics

我的表格包含字段ProcessNameStartDateEndDate。我需要知道EndDate的标准差,以便知道我可以等待一个过程完成的时间限制。根据此标准偏差,如果某个流程花费了太多时间,则会发送电子邮件。

我的想法是使用以下查询:

select
    ProcessName,
    STDEV(tm)
from (
    select
        ProcessName,
        cast(EndDate as decimal(18,6)) tm
    from Reports..ExecutionControl
) t1
group by ProcessName

但是,首先我不知道它返回什么(如果它是百分比),也许这是缺乏统计理解,我也需要获得一个过程可以采取的时间限制,它是不计算它。

有人可以帮我解决这个问题吗?在此先感谢所有人!

1 个答案:

答案 0 :(得分:0)

嗯,我不确定如果没有平均值,你会如何使用标准偏差,但那是你的问题。

我希望这样的查询:

select ProcessName,
       STDEV(dateadiff(second, Startdate, Enddate)) as stdev_dur
from Reports..ExecutionControl
group by ProcessName;

即,标准偏差是根据持续时间计算的,而不是EndDate