Oto zapytanie, aby uzyskać średni czas konfiguracji i czas gry dla każdej gry, mam nadzieję, że to pomoże:
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;
Powinna dawać wyniki podobne do:
+----------+-----------+-----------+-----------+
| gameName | setupTime | gameTime | totalTime |
+----------+-----------+-----------+-----------+
| chess | 1100.0000 | 1250.0000 | 2350.0000 |
| checkers | 466.6667 | 100.5000 | 933.3333 |
+----------+-----------+-----------+-----------+
Właśnie wstawiłem około 8 wierszy testowych z losowymi danymi, więc moje liczby nie mają sensu, ale to jest wynik, który otrzymasz.
Zwróć uwagę, że spowoduje to przeskanowanie całej tabeli, więc może to zająć trochę czasu, w zależności od liczby rekordów w tej tabeli. Jest to zdecydowanie coś, co chcesz okresowo uruchamiać w tle, jeśli masz znaczną liczbę zapisów gier.