【问题标题】:Standard Deviation over Datetime column grouped by Processname按 Processname 分组的 Datetime 列的标准偏差
【发布时间】:2015-11-10 15:02:56
【问题描述】:

我有一个包含字段ProcessNameStartDateEndDate 的表格。我需要知道EndDate 的标准偏差才能知道我可以等待进程完成的时间限制。如果某些进程运行时间过长,将根据此标准偏差发送电子邮件。

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

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

但是,首先我不知道它返回的是什么(是否是百分比),这可能是缺乏统计理解,而且我需要得到一个过程可以花费的时间限制,它是不计算。

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

【问题讨论】:

    标签: sql sql-server statistics


    【解决方案1】:

    嗯,我不确定您将如何使用没有平均值的标准差,但这是您的问题。

    我希望这样的查询:

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

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

    【讨论】:

    • 感谢您的回复。所以我认为最后我将不得不在我的MAX(EndDate) 中添加这个标准偏差(以秒为单位),对吧?
    • @LucasRezende 。 . .如果你想要最大加一个标准差,那就是你会做的。
    • 感谢您的帮助。我需要对逻辑进行一些调整,但 STDEV 就是这样。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2021-04-29
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多