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