sql - 查找日期之间差异的平均值 -Sql Select

标签 sql sql-server select

我有一张包含以下详细信息的表格

Repid | buildDate          | BuildVersion
---------------------------------
 1     2013-11-15 10:41:00  1683
 1     2013-11-15 11:10:00  1684
 1     2013-11-15 12:14:00  1685
 2     2013-11-15 10:41:00  1688
 2     2013-11-15 11:10:00  1689
 2     2013-11-15 12:14:00  1690

对于每个Repid,我需要找到连续构建版本之间的平均小时差异。

最佳答案

select  b1.RepId
,       avg(abs(datediff(hour, b1.buildDate, b2.buildDate)))
from    builds b1
join    builds b2
on      b1.BuildVersion = b2.BuildVersion + 1
        and b1.Repid = b2.Repid
group by
        b1.RepId

Live example at SQL Fiddle.

关于sql - 查找日期之间差异的平均值 -Sql Select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20610523/

相关文章:

mysql - 如何选择年龄范围内的人

mysql通过参数关系选择数据

mysql - 3 个表的 sql SELECT 查询

mysql - 产生以下输出的 SQL 查询?

sql-server - SQL中当前记录日期字段的同一天或之前的累计每日总和

sql - 微软 Access : adding column if not exist (or try/catch it)

python - Pyodbc 数字的默认类型

sql - insert into.. select 语句是事务性的吗?

python - 使用 python psychopg2 获取数据库中包含特定字符串的所有变量的计数

mysql - 从具有不同前缀的三个表中获取前 5 个值