Я не знаю вашу СУБД, но это из SQL Server.Кроме того, один из ваших вызовов неверен - 09.02.2011 - 13.08.2011 - 20, а не 19.
create table dates (
myDate date
)
insert into dates
values ({d '2011-08-13'}),
({d '2011-09-02'}),
({d '2011-09-10'}),
({d '2011-09-20'})
;with orderedDates as (
select ROW_NUMBER() OVER (order by myDate) as row, myDate
from dates
), datediffs as (
select DATEDIFF(dd, o2.myDate, o1.myDate) as diff
from orderedDates o1 left outer join
orderedDates o2 on o1.row = o2.row + 1
)
select AVG(cast(diff as decimal))
from datediffs
where diff is NOT NULL
Результат - 12,667: (20 + 8 + 10) / 3.