2

我有一个包含很多行的数据库,我想连续汇总 10 行并计算一列的平均值。所以第1到10行将是平均值。一,第11到20行将是平均值。二等

这可以在MySql中完成吗?

4

2 回答 2

2

您需要对GROUP BY FLOOR(something/10)每 10 行进行分组。没有间隙的主自动增量键将是最好的。

SELECT FLOOR(something/10) as start_id, AVG(yourAmount)
FROM yourTable
GROUP BY FLOOR(something/10)
于 2012-05-15T08:51:14.987 回答
0

我设法通过在一个简单的查询中使用别名和组/顺序来解决排序问题。

SELECT FLOOR(id/10) AS id_tmp, id AS sorter, AVG(col_1) AS col_1_avg 
FROM my_table
GROUP BY id_tmp
ORDER BY sorter DESC

我不确定为什么会这样,但在 MySQL 5.0 中它仍然有效。

于 2012-05-16T00:18:46.043 回答