sql >> Databasteknik >  >> RDS >> Mysql

Mysql-fråga till genomsnittlig tid

Här är en fråga för att få den genomsnittliga installationstiden och speltiden för varje spel, hoppas 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;

Bör ge resultat liknande:

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

Jag har precis infogat cirka 8 testrader med lite slumpmässiga data så mina siffror är inte vettiga, men det är resultatet du skulle få.

Observera att detta kommer att skanna hela din tabell så det kan ta ett tag beroende på hur många poster du har i den här tabellen. Det är definitivt något du vill köra i bakgrunden med jämna mellanrum om du har en ansenlig mängd spelrekord.



  1. MySQL dual master

  2. Hur kan jag se innehållet i ett utarbetat uttalande?

  3. Hur man skapar ett databasdiagram i Access

  4. Konvertera tabell från MyISAM till INNODB