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

Gee*_*.VC 1 sql average date

我有一个列有数据的列

Date
13/8/2011
2/9/2011
10/9/2011
20/9/2011
Run Code Online (Sandbox Code Playgroud)

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

谢谢你,Geetha

Mar*_*rco 7

试试这个:

SELECT DATEDIFF(
    day, 
    MIN(date_col), 
    MAX(date_col)) / (COUNT(date_col)-1) AS mean_val
FROM your_table
Run Code Online (Sandbox Code Playgroud)

感谢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
Run Code Online (Sandbox Code Playgroud)