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

Số giờ trung bình của MySQL giữa các ngày đã tạo trong một khoảng thời gian cụ thể

Giá trị trung bình là hiệu giữa bản ghi đầu tiên và bản ghi cuối cùng chia cho số lượng cộng với một số.

SELECT (UNIX_TIMESTAMP(max(date(created)+1), min(date(created)))/1000)/(count(*)+2) AS timediffsecs
FROM Sessions
WHERE created BETWEEN DATE_SUB(NOW(), INTERVAL 4 DAYS) AND NOW()

Cái này đang làm gì vậy? Đầu tiên, nó không phải là thêm các bản ghi bổ sung vào dữ liệu. Thay vào đó, nó chỉ làm tròn xuống ngày trước đó và làm tròn ngày muộn hơn. UNIX_TIMETAMP tạo ra các giá trị tính bằng mili giây kể từ một thời điểm nào đó. Lấy sự khác biệt giữa lớn nhất và nhỏ nhất. Cuối cùng, chia cho số hàng gặp phải cộng với 2 (tôi nghĩ nó phải là số đếm cộng với 1, nhưng câu hỏi của bạn nói rằng số lượng cộng với 2).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Neo4j - Chọn dữ liệu với MATCH bằng Cypher

  2. Làm cách nào để triển khai các đặc quyền của diễn đàn

  3. lỗi cài đặt caldecott

  4. chỉ nhận giá trị từ bảng cho một ngày cụ thể trong mysql

  5. MySQL, trả về tất cả kết quả trong vòng X giờ trước