MySQL 对每 X 行求和

标签 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 分钟格式)求和?

最佳答案

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

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

例如

1.0
1.2
1.75
1.9

都会变成1。

关于MySQL 对每 X 行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41465543/

相关文章:

Mysql子查询帮助

mysql - SQLZoo 中 SQL Join #13 的解决方案

mysql - SQL 表中的唯一交叉联接

sql - 在 UNION SQL 中创建一个 "final"过滤器

php - PDO 查询中的 SQL 语法错误

mysql - Mac OS SQL Server 需要安装吗?

python - 异常处理: exception being handled multiple times

PHP 使用 MD5 密码登录?

php - Symfony2 : How do I use in a form (query builder) left join and isnull?

mysql - SQL - 选择条件为真但如果有另一行打破条件则删除