2017-01-04 14 views
6

Tôi cần ít trợ giúp về MySQL. Tôi có một bảng có giá trị theo giờ như sau:MySQL tổng mỗi hàng X

ID | VALUE | HOUR 
1 | 1.0 | 01.00 
2 | 1.0 | 02.00 
... 
24 | 1.0 | 24.00 

Bây giờ tôi thấy rằng dữ liệu mà tôi nhận được không theo giờ, nhưng cứ 30 phút một lần hoặc đôi khi cứ 15 phút một lần. Vì vậy, các dữ liệu có thể trông như thế này:

ID | VALUE | HOUR 
1 | 1.0 | 01.00 
2 | 1.0 | 01.30 
... 
48 | 1.0 | 24.00 

tôi cần phải hiển thị dữ liệu ở định dạng theo giờ, vì vậy tôi tò mò nếu có bất kỳ cơ hội để nói với MySQL để tóm tắt mỗi hai (trong vòng 30 phút định dạng) hoặc mỗi bốn (15 phút định dạng) hàng của kết quả?

+0

gì đã làm bạn cố gắng? – denny

+0

Phần giờ. Đó có phải là một chuỗi ... số ..? – Danieboy

Trả lời

5

Có, bạn có thể sử dụng FLOOR (Làm tròn xuống) hoặc CEIL (Làm tròn lên), phụ thuộc những gì bạn thích:

SELECT FLOOR(t.hour) as rounded_hour, 
     SUM(t.value) as your_sum 
FROM YourTable t 
GROUP BY FLOOR(t.hour) 

V.D.

1.0 
1.2 
1.75 
1.9 

Tất cả sẽ biến thành 1.

0

truy vấn này có thể giúp bạn:

Select ID,sum(Value),sum(Hour),substr(hour,1,2)as h group by h; 
Các vấn đề liên quan