【发布时间】:2019-03-04 20:43:39
【问题描述】:
我有一个包含测量数据的 MySQL 表。例如:
# name, time
first, 0.0013
second, 0.0015
third, 0.0012
fourth, 0.0019
我想计算所有行的 MAX、MIN 和 AVG。所以上面例子的结果应该是:
MIN: 0.0012
MAX: 0.0019
AVG: 0.001475
我知道 MIN、MAX 和 AVG MYSQL 函数。但它们返回单个字段的结果。我需要类似于 COUNT 函数的汇总结果。
编辑:
我没有必要在一个查询中获得所有 3 个函数的结果。有 3 个不同的查询很好。主要问题是如何聚合所有行的 MAX,如我在示例中所示。
【问题讨论】:
-
你不能以任何好的方式为同一个查询在不同的行中声明同一列的不同函数结果。为此,您需要执行 3 个单独的查询,每个查询都带有
AVG、MIN和MAX函数。最好的方法是将结果存储在不同的列中,即SELECT AVG(time), MAX(time), MIN(time) from ... -
@Mohammad 该链接询问聚合列。就我而言,我想要聚合行,而不是列。
-
@Johan 没关系。但是如何获得例如表中所有行的 MAX?
-
我在看到您的问题之前更新了我的评论以包含一个示例,但是为了按时间顺序,我也会将其粘贴在这里:)
SELECT AVG(time), MAX(time), MIN(time) from ...
标签: mysql database max average min