Zkuste prosím toto:
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Pokud jsou data uložena jako časové razítko, pak výše uvedený dotaz udává průměrný čas mezi začátkem a koncem u všech záznamů.