Si prega di provare questo:
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Se le date sono memorizzate come timestamp, la query sopra fornirà il tempo medio tra l'inizio e la fine su tutti i record.