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

truy vấn mysql để kết hợp 3 truy vấn trong 1 bảng trong khi tính trung bình

Giờ () có vẻ như nó sẽ là một chức năng hữu ích cho việc này, vì bạn chỉ xem xét một ngày duy nhất. Có lẽ cái gì đó như thế này sẽ phù hợp với bạn:

SELECT * FROM
 (SELECT HOUR(time) hour, avg(ph) AS avg_ph
  FROM ph 
  WHERE time >= NOW() - INTERVAL 1 DAY
  GROUP BY hour) p
JOIN 
 (SELECT HOUR(time) hour, avg(temperature) AS avg_temp
  FROM temperature1 
  WHERE time >= NOW() - INTERVAL 1 DAY
  GROUP BY hour) t ON t.hour = p.hour
JOIN 
 (SELECT HOUR(time) hour, avg(solids) AS avg_solids
  FROM solids 
  WHERE time >= NOW() - INTERVAL 1 DAY
  GROUP BY hour) s ON s.hour = p.hour;

Vì nó đang sử dụng các phép nối bên trong, tôi đang đưa ra giả định rằng sẽ luôn có ít nhất một bản ghi trong mỗi bảng trong một giờ, nhưng nó có vẻ là một giả định hợp lý.




  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 - Làm thế nào để chạy nhiều truy vấn cập nhật trong một dòng?

  2. Bảng SQL một cột, cột là một ID - điều này có điên rồ không?

  3. Số lượng MySQL trong cùng một bảng bao gồm các giá trị đếm bằng không

  4. Chuyển đổi ngày mysql (datetime) thành định dạng ngày tốt hơn bằng php

  5. Now () so với GetDate ()