0

我使用的工具如果包含超过 1000 个数据点则无法呈现(生成图表)信息,因此假设如果我的 mysql 查询返回大约 5000 个数据点,那么我必须通过将这 5000 个数据点转换为 1000 个点所有值的平均值。这个转化率5000/1000 = 5,我得在运行时决定。有什么方法可以根据数据大小和列名对数据进行分组/平均,而不仅仅是列名。

提前致谢

4

1 回答 1

0

使用自增字段排序

user113215 所说的 ( SELECT AVG(data) FROM ... GROUP BY rownum % 1000) 是有道理的,除了如果有 5050 行,则将有 50 行,每行 6 行的平均值,而其他 950 行将是每行 5 行的平均值。你想如何处理这个案子?而是将它们均匀地分成 5050/6 行?如果是这样,我建议您运行 2 个查询,第一个查询类似于:

SELECT SUM(*)/(CEIL(SUM(*))/1000) FROM YourTable

您存储在变量中的输出以用于在下一个查询中进行修改。

一种替代方法% 1000是 just / 5,这样您就可以取而代之平均连续行。

您通常应该有一个表的自动增量主键,这将使该解决方案足够简单。

自定义排序

我认为正是你想要的。

于 2012-12-28T11:55:02.847 回答