Onnodig te zeggen dat ik een hekel heb aan het werken met 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;
Dit geeft de gemiddelde tijd (in seconden) terug die een beheerder nodig had om een bericht te beantwoorden (gemaakt door iedereen, niet noodzakelijk een klant, maar dit kan eenvoudig worden gewijzigd).