Hier is een vraag om de gemiddelde opstarttijd en speeltijd voor elk spel te krijgen, ik hoop dat het helpt:
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;
Zou resultaten moeten opleveren die vergelijkbaar zijn met:
+----------+-----------+-----------+-----------+
| gameName | setupTime | gameTime | totalTime |
+----------+-----------+-----------+-----------+
| chess | 1100.0000 | 1250.0000 | 2350.0000 |
| checkers | 466.6667 | 100.5000 | 933.3333 |
+----------+-----------+-----------+-----------+
Ik heb zojuist ongeveer 8 testrijen ingevoegd met wat willekeurige gegevens, dus mijn cijfers kloppen niet, maar dat is het resultaat dat je zou krijgen.
Houd er rekening mee dat hiermee uw hele tabel wordt gescand, dus het kan even duren, afhankelijk van het aantal records dat u in deze tabel heeft. Het is zeker iets dat je periodiek op de achtergrond wilt laten draaien als je een aanzienlijk aantal gamerecords hebt.