【问题标题】:How can I get the average of a date field?如何获得日期字段的平均值?
【发布时间】:2014-04-10 00:46:33
【问题描述】:

我想获取某些日期之间的平均天数,例如,我有一个名为 Patient 的表,其中包含注册 ID、患者 ID、进入日期和最终日期:

(1,1,'07-04-2014','08-04-2014'),
(2,2,'07-04-2014','07-04-2014'),
(3,3,'08-04-2014','10-04-2014'),
(4,4,'09-04-2014','10-04-2014')

我想获得输入字段的平均天数,我尝试了很多东西,但我只得到随机结果。我尝试使用 dtiff,但它需要两个参数,而我只需要一个。

【问题讨论】:

标签: sql date average


【解决方案1】:

您可以获得固定日期和日期字段之间的平均 DURATION。但是平均一个日期并没有什么意义。

SELECT AVG(DATEDIFF(DD,'19700101',dateField)) AS avgDays

您可以说“平均”日期为:DATEADD(DD,avgDays,'19700101')

但我不确定这在您尝试做的事情的背景下是否有意义。

【讨论】:

    【解决方案2】:

    感谢您的回答,也许我无法表达我想要做什么,但我找到了一个解决方案,它实际上非常简单:

    select Patient.Name, avg(day(Patient.FinalDate) - day(Patient.EntryDate)) as [Average] from Patient,DetailPatient where Patient.IdPatient=DetailPatient.IdPatiene group by DetailPatient.Name

    我知道它看起来很简单哈哈,但我是第一次这样使用avg函数。 谢谢各位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多