Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn Mysql đến thời gian trung bình

Đây là một truy vấn để có được thời gian thiết lập và thời gian chơi trung bình cho mỗi trò chơi, hy vọng nó sẽ hữu ích:

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;

Sẽ mang lại kết quả tương tự như:

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

Tôi vừa chèn khoảng 8 hàng thử nghiệm với một số dữ liệu ngẫu nhiên nên các con số của tôi không có ý nghĩa, nhưng đó là kết quả bạn sẽ nhận được.

Lưu ý rằng thao tác này sẽ quét toàn bộ bảng của bạn nên có thể mất một lúc tùy thuộc vào số lượng bản ghi bạn có trong bảng này. Đó chắc chắn là thứ bạn muốn chạy trong nền định kỳ nếu bạn có một lượng lớn bản ghi trò chơi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. iOS - Định dạng đúng dấu thời gian giữa mySQL (apache) và iOS (NSDate)

  2. Tại sao một số loại truy vấn chuẩn bị sử dụng PDO trong PHP với MySQL lại chậm?

  3. chọn các số liên tiếp bằng cách sử dụng truy vấn SQL

  4. Làm thế nào để tránh phân mảnh khi sử dụng khóa chính NHibernate Guid.comb trong MySQL?

  5. Làm cách nào tôi có thể chọn tất cả dữ liệu từ một bảng với điều kiện?