Spróbuj tego :
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Jeśli daty są przechowywane jako znacznik czasu, powyższe zapytanie poda średni czas między początkiem a końcem we wszystkich rekordach.