Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage zur durchschnittlichen Zeit

Hier ist eine Abfrage, um die durchschnittliche Einrichtungszeit und Spielzeit für jedes Spiel zu erhalten, ich hoffe, es hilft:

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;

Sollte ähnliche Ergebnisse liefern wie:

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

Ich habe gerade etwa 8 Testzeilen mit zufälligen Daten eingefügt, sodass meine Zahlen keinen Sinn ergeben, aber das ist das Ergebnis, das Sie erhalten würden.

Beachten Sie, dass dadurch Ihre gesamte Tabelle gescannt wird, sodass es eine Weile dauern kann, je nachdem, wie viele Datensätze Sie in dieser Tabelle haben. Es ist definitiv etwas, das Sie regelmäßig im Hintergrund laufen lassen sollten, wenn Sie eine beträchtliche Menge an Spielaufzeichnungen haben.