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

Mysql-forespørgsel til gennemsnitstid

Her er en forespørgsel for at få den gennemsnitlige opsætningstid og spilletid for hvert spil, håber det hjælper:

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;
 

Skulle give resultater svarende til:

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

Jeg har lige indsat omkring 8 testrækker med nogle tilfældige data, så mine tal giver ikke mening, men det er det resultat, du ville få.

Bemærk, at dette vil scanne hele din tabel, så det kan tage et stykke tid, afhængigt af hvor mange poster du har i denne tabel. Det er bestemt noget, du gerne vil køre i baggrunden med jævne mellemrum, hvis du har en betydelig mængde spilrekorder.



  1. Server lukkes automatisk og står over for fejlen "ERR_STREAM_WRITE_AFTER_END" sammen med data, der sendes hver gang til klienten

  2. MySQL læringssti

  3. Lokal replika af RDS-database

  4. node.js + mysql forbindelsespooling