如何获得日期字段的平均值?

时间:2014-04-10 00:46:33

标签: sql date average

我想获得某些日期之间的平均天数,例如,我有一张名为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,但它需要两个参数,我只需要一个。

2 个答案:

答案 0 :(得分:1)

您可以获得固定日期和日期字段之间的平均DURATION。但平均日期并没有多大意义。

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

你可以说"平均"日期将是:DATEADD(DD,avgDays,'19700101')

但是我不确定这是否适合你正在尝试做的事情。

答案 1 :(得分:0)

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

选择Patient.Name,avg(day(Patient.FinalDate) - day(Patient.EntryDate))作为[Average]来自Patient,DetailPatient,其中Patient.IdPatient = DetailPatient.IdPatiene group by DetailPatient.Name

我知道它看起来很简单哈哈,但这是我第一次以这种方式使用avg功能。 谢谢你们。