Det behöver inte sägas att jag hatar att arbeta med MySQL :
SELECT AVG(delay_answer)
FROM (SELECT MIN(delay_answer) AS delay_answer
FROM (SELECT M1.ref, client, admin, TIMESTAMPDIFF(SECOND, date_original, date) AS delay_answer
FROM messages M1
INNER JOIN (SELECT ref, MIN(date) AS date_original
FROM messages
GROUP BY ref) M2
ON M1.ref = M2.ref AND date > date_original
WHERE admin <> 0 AND client = 0) x
GROUP BY ref) y;
Detta returnerar den genomsnittliga tid (i sekunder) som det tog för en administratör att svara på ett meddelande (skapat av vem som helst, inte nödvändigtvis en klient, men detta kan enkelt ändras).