如何使用mysql数据库计算聚合函数。以下查询返回无效使用组函数。
select avg(max(qty)) from tb_name.
答案 0 :(得分:2)
你的陈述中没有任何小组,如果你只是这样阅读,你应该理解为什么它没有产生明智的结果:
您说Give me the average of the maximum value for qty from tb_name
,但由于您没有按任何方式进行分组,因此只有一个最大值。
如果您在一个查询中需要这两个值,则可以这样做,但是您需要对查询进行分组,例如:
select avg(qty), max(qty) from tb_name group by SomethingOtherThanQty
根据您的评论,我猜您确实在寻找某个组的所有平均值的最大值,因为带子查询的查询可能如下所示:
SELECT MAX(AVERAGE) FROM
(SELECT
AVG(qty) AS AVERAGE
FROM tb_name
GROUP BY YourGroupingCriteria) AS SubQuery
答案 1 :(得分:1)
您可以执行以下操作:
SELECT AVG(qty) FROM tb_name
这将为您提供数量的平均值
OR
SELECT MAX(qty) FROM tb_name
这将为您提供最大的量值
在同一个表上同时使用AVG和MAX在逻辑上和语法上都不正确。
答案 2 :(得分:0)
试试这个
SELECT AVG(SELECT MAX(qty) FROM tb_name) FROM tb_name