我有一列数据如下
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/