Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta MySQL para tempo médio


Aqui está uma consulta para obter o tempo médio de configuração e o tempo de jogo para cada jogo, espero que ajude:
SELECT
  gameName,
  AVG(UNIX_TIMESTAMP(startPlay) - UNIX_TIMESTAMP(beginSetup)) AS setupTime,
  AVG(UNIX_TIMESTAMP(gameEnd) - UNIX_TIMESTAMP(startPlay)) AS gameTime,
  AVG(UNIX_TIMESTAMP(gameEnd) - UNIX_TIMESTAMP(beginSetup)) AS totalTime,
FROM `table`
GROUP BY gameName
ORDER BY totalTime DESC;

Deve produzir resultados semelhantes a:
+----------+-----------+-----------+-----------+
| gameName | setupTime | gameTime  | totalTime |
+----------+-----------+-----------+-----------+
| chess    | 1100.0000 | 1250.0000 | 2350.0000 |
| checkers |  466.6667 |  100.5000 |  933.3333 |
+----------+-----------+-----------+-----------+

Acabei de inserir cerca de 8 linhas de teste com alguns dados aleatórios para que meus números não façam sentido, mas esse é o resultado que você obteria.

Observe que isso verificará toda a sua tabela, de modo que pode demorar um pouco, dependendo de quantos registros você possui nessa tabela. É definitivamente algo que você deseja executar em segundo plano periodicamente se tiver uma quantidade considerável de registros de jogos.