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

MySQL:Các bản ghi được chèn theo giờ, trong 24 giờ qua

Nếu bạn nhóm theo HOUR(time) thì bạn nên sử dụng HOUR(time) trong các biểu thức đã chọn của bạn, chứ không phải time . Ví dụ:

SELECT HOUR(time), COUNT(*)
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY HOUR(time)
ORDER BY HOUR(time)

Ngoài ra, bạn có thể nhóm theo biểu thức bạn muốn trả về:

SELECT COUNT(*), FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
ORDER BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )

Trong trường hợp bạn băn khoăn, có thể an toàn gọi NOW() nhiều lần trong cùng một truy vấn như thế này. Từ hướng dẫn sử dụng :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một cách di động để cung cấp thời gian hồi chiêu dựa trên IP?

  2. Chèn danh sách Python (JSON hoặc cách khác) vào cơ sở dữ liệu MySQL

  3. truy vấn mysql để cập nhật trường thành max (trường) + 1

  4. Gửi biểu mẫu sự cố ... Nhập khóa

  5. Kết nối mã nguồn PHP và gửi biểu mẫu đến Cơ sở dữ liệu MySQL