言うまでもなく、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;
これは、管理者がメッセージに応答するのにかかった平均時間(秒単位)を返します(誰でも作成し、必ずしもクライアントである必要はありませんが、これは簡単に変更できます)。