sql >> Base de Datos >  >> RDS >> Mysql

Tiempo promedio para responder al mensaje

No hace falta decir que odio trabajar con 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;

Esto devuelve el tiempo promedio (en segundos) que le tomó a un administrador responder un mensaje (creado por cualquier persona, no necesariamente un cliente, pero esto se puede cambiar fácilmente).