Ecco una query per ottenere il tempo medio di configurazione e il tempo di gioco per ogni gioco, spero che ti aiuti:
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;
Dovrebbe produrre risultati simili a:
+----------+-----------+-----------+-----------+
| gameName | setupTime | gameTime | totalTime |
+----------+-----------+-----------+-----------+
| chess | 1100.0000 | 1250.0000 | 2350.0000 |
| checkers | 466.6667 | 100.5000 | 933.3333 |
+----------+-----------+-----------+-----------+
Ho appena inserito circa 8 righe di prova con alcuni dati casuali, quindi i miei numeri non hanno senso, ma questo è il risultato che otterresti.
Nota che questo eseguirà la scansione dell'intera tabella, quindi potrebbe volerci del tempo a seconda di quanti record hai in questa tabella. È sicuramente qualcosa che vuoi eseguire periodicamente in background se hai una quantità considerevole di record di gioco.