我有一个包含很多行的数据库,我想连续汇总 10 行并计算一列的平均值。所以第1到10行将是平均值。一,第11到20行将是平均值。二等
这可以在MySql中完成吗?
您需要对GROUP BY FLOOR(something/10)
每 10 行进行分组。没有间隙的主自动增量键将是最好的。
SELECT FLOOR(something/10) as start_id, AVG(yourAmount)
FROM yourTable
GROUP BY FLOOR(something/10)
我设法通过在一个简单的查询中使用别名和组/顺序来解决排序问题。
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 中它仍然有效。