MySQL总和每X行

时间:2017-01-04 13:56:33

标签: mysql sql

我需要很少的MySQL帮助。我有一张像小时一样的小时表:

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

现在我发现有时我得到的数据不是每小时一次,而是每30分钟或有时每15分钟。所以数据看起来像这样:

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

我需要以小时格式显示数据,所以我很好奇是否有机会告诉MySQL将每两个(30分钟格式)或每四(15分钟格式)行的结果相加?

2 个答案:

答案 0 :(得分:5)

是的,您可以使用FLOOR(向下舍入)或CEIL(向上舍入),取决于您的喜好:

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

E.G。

1.0
1.2
1.75
1.9

一切都会变成1。

答案 1 :(得分:0)

此查询可能会对您有所帮助:

Select ID,sum(Value),sum(Hour),substr(hour,1,2)as h group by h;