我有一个列有数据的列
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
试试这个:
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)