Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie MySQL do średniego czasu

Oto zapytanie, aby uzyskać średni czas konfiguracji i czas gry dla każdej gry, mam nadzieję, że to pomoże:

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;

Powinna dawać wyniki podobne do:

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

Właśnie wstawiłem około 8 wierszy testowych z losowymi danymi, więc moje liczby nie mają sensu, ale to jest wynik, który otrzymasz.

Zwróć uwagę, że spowoduje to przeskanowanie całej tabeli, więc może to zająć trochę czasu, w zależności od liczby rekordów w tej tabeli. Jest to zdecydowanie coś, co chcesz okresowo uruchamiać w tle, jeśli masz znaczną liczbę zapisów gier.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć duplikaty z tabeli MySQL?

  2. łącze do bazy danych między dwoma serwerami mysql działającymi w dwóch różnych lokalizacjach

  3. Coś podobnego do Hibernate w PHP?

  4. Jak przesłać tylko zdarzenie kliknięcia (div), korzystając z funkcji jquery live?

  5. Czy mogę przechowywać obrazy w MySQL?