Veuillez essayer ceci :
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Si les dates sont stockées sous forme d'horodatage, la requête ci-dessus donnera le temps moyen entre le début et la fin de tous les enregistrements.