SQL查询以查找日期之间差异的平均值

标签 sql date average

我有一列数据如下

Date
13/8/2011
2/9/2011
10/9/2011
20/9/2011

我需要编写一个 SQL 查询/过程来帮助我获取日期之间差异的平均值。 对于上面的示例,它将是 (19+8+10)/3=12.33 请帮忙解决这个问题。

提前致谢, 盖塔

最佳答案

试试这个:

SELECT DATEDIFF(
    day, 
    MIN(date_col), 
    MAX(date_col)) / (COUNT(date_col)-1) AS mean_val
FROM your_table

感谢 ypercube 的建议:

SELECT
  CASE
    WHEN COUNT(date_col) < 2 THEN 0
    ELSE DATEDIFF(
        day, 
        MIN(date_col), 
        MAX(date_col)) / (COUNT(date_col)-1)
  END
  as mean_val
FROM your_table

关于SQL查询以查找日期之间差异的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497418/

相关文章:

.net - 使用派生列进行 SSIS 查找?

SQL 条件 JOIN 列

Java Date toString 包含时区...为什么?

java - 计算数组中间索引的差异?

php - 日期的平均天数 Mysql、PHP

mysql - AVG 返回 null 但不应返回 null

mysql - 更新更新触发器中的其他行

c# - 如何使用 gridview 处理数据库的空返回?

ruby-on-rails - ruby 日期方程不返回预期的真值

java - 没有日期的排序时间