Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql заявка към средно време

Ето заявка за получаване на средното време за настройка и време за игра за всяка игра, надявам се да помогне:

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;

Трябва да даде резултати, подобни на:

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

Току-що вмъкнах около 8 тестови реда с някои произволни данни, така че числата ми нямат смисъл, но това е резултатът, който ще получите.

Имайте предвид, че това ще сканира цялата ви таблица, така че може да отнеме известно време в зависимост от това колко записа имате в тази таблица. Това определено е нещо, което искате да изпълнявате периодично във фонов режим, ако имате значително количество записи на игри.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:модификацията в my.cnf не влиза в сила

  2. SQL:Как да поддържам ред на редовете с DISTINCT?

  3. Как да подобрим производителността на INSERT в много голяма MySQL таблица

  4. MySQL SUM json стойности, групирани по json ключове

  5. Автоматизиране на архивиране с помощта на планировчик на събития