Sql server 将一列日期的平均值作为日期
我的SQL表(SQL Server结构)有一组工作单,这些工作单与我的每个资产都有完成日期。类似这样(但每项资产20多个WO): 我正试图创建一个脚本,让我的平均时间WO的。所以我基本上需要得到这个日期列的差值总和。我想这有一些结合了Sql server 将一列日期的平均值作为日期,sql-server,Sql Server,我的SQL表(SQL Server结构)有一组工作单,这些工作单与我的每个资产都有完成日期。类似这样(但每项资产20多个WO): 我正试图创建一个脚本,让我的平均时间WO的。所以我基本上需要得到这个日期列的差值总和。我想这有一些结合了CAST,dateDiff,avg的解决方法,但我尝试了许多变体,似乎无法实现。有什么想法吗 如果我有3次约会10/20,10/25和11/12 你会发现前两次之间有5天,后两次之间有18天。然后,我想要(5,18)=11.5的平均值,我想这就是你想要做的: SEL
CAST
,dateDiff
,avg
的解决方法,但我尝试了许多变体,似乎无法实现。有什么想法吗
如果我有3次约会10/20,10/25和11/12
你会发现前两次之间有5天,后两次之间有18天。然后,我想要(5,18)=11.5的平均值,我想这就是你想要做的:
SELECT AssetID, DATEDIFF(d, MIN(datecol), MAX(datecol)) as Days
FROM table
GROUP BY AssetID
将为您提供第一份工作单和最后一份工作单之间的天数。刚刚看到这篇文章。这是一个古老的概念,但对于其他看到这一点的人来说,上面的答案实际上是不正确的。最大-最小是范围<代码>平均值是所有添加值/值计数
获取平均值:
CAST(AVG(CAST(yourdate AS INT))AS DATETIME)
您使用的是哪种RDBMS?您使用的是哪种数据库系统?抱歉,这是由我们的一家供应商托管的SQL server。您能否详细说明“此日期列的差异”的含义?如果有1000行,您希望如何确定一个特定日期之间的差异?是否要将其与其他999行进行比较?你只是想把它和表中的某一行进行比较吗?我不敢相信我没有意识到一个差异的总和就是第一行和最后一行的差异……谢谢!
SELECT AssetID, DATEDIFF(d, MIN(datecol), MAX(datecol)) as Days
FROM table
GROUP BY AssetID