【问题标题】:SQL Datetime AvgSQL 日期时间平均值
【发布时间】:2015-05-14 17:23:31
【问题描述】:

我正在尝试使用 SQL 获取两个日期之间的平均总天数。

我的表如下

intSalesPerson dtmDateSetup         dtmWelcomeLetterSent
1              2015-02-18 22:47:13.890  2015-03-19 19:53:04.153
1              2015-03-06 13:04:20.730  2015-03-19 19:55:29.800
1              2015-03-16 18:16:43.290  2015-03-19 19:55:25.690

我的 SQL 查询是这样的吗?

select avg([dtmDateSetup] - [dtmWelcomeLetterSent]) as avg_days
from [tblCustomer] where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL 

结果应该是

Avg_days
15

谢谢。

【问题讨论】:

  • 我在问您要应用什么业务逻辑来获取 Date Avg,因为现在您的示例数据和输出 3 似乎没有任何逻辑,修改您的问题,以便我们可以了解您到底是什么想要吗?

标签: sql date average


【解决方案1】:

首先计算每个日期之间的天数(我假设是 SQL Server):

select [dtmDateSetup], [dtmWelcomeLetterSent],
   DATEDIFF(day,dtmDateSetup,dtmWelcomeLetterSent)
from [tblCustomer]
where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL

然后平均很容易:

select AVG(DATEDIFF(day,dtmDateSetup,dtmWelcomeLetterSent))
from [tblCustomer]
where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2018-10-25
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多