Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête MySQL au temps moyen

Voici une requête pour obtenir le temps d'installation moyen et le temps de jeu pour chaque jeu, j'espère que cela vous aidera :

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;

Devrait donner des résultats similaires à :

+----------+-----------+-----------+-----------+
| gameName | setupTime | gameTime  | totalTime |
+----------+-----------+-----------+-----------+
| chess    | 1100.0000 | 1250.0000 | 2350.0000 |
| checkers |  466.6667 |  100.5000 |  933.3333 |
+----------+-----------+-----------+-----------+

Je viens d'insérer environ 8 lignes de test avec des données aléatoires afin que mes chiffres n'aient pas de sens, mais c'est le résultat que vous obtiendriez.

Notez que cela analysera l'intégralité de votre table, cela peut donc prendre un certain temps en fonction du nombre d'enregistrements que vous avez dans cette table. C'est certainement quelque chose que vous voulez exécuter périodiquement en arrière-plan si vous avez une quantité considérable d'enregistrements de jeu.