Моля, опитайте това :
SELECT CAST(AVG(start_date + (IFNULL(end_date,start_date)-start_date)/2) AS DATETIME) AS average_date FROM TableName
Ако датите се съхраняват като времеви печат, тогава горната заявка ще даде средно време между началото и края за всички записи.