Mysql
 sql >> Database >  >> RDS >> Mysql

Query MySQL per tempo medio

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.