我想按列获取数据组的最大平均值。我有一个这样构建的数据库:
id | late | from
---|------|--------
1 | 13 |a
2 | 3 |c
3 | 2 |c
4 | 27 |a
5 | 7 |b
6 | 9 |b
有了这个,我想找到“迟到”的最大平均值的“来自”。这里它必须返回“a”:
AVG(a) = ((13 + 27) / 2) = 20
AVG(b) = ((7 + 9) / 2) = 8
AVG(c) = ((3 + 2) / 2) = 2.5
我尝试这样的事情:
SELECT id FROM Record HAVING MAX(AVG(late)) GROUP BY from
但它不起作用......
感谢您对旅游的帮助!
最佳答案
您可以在 order by avg
上按降序使用 limit 1
:
select `from`
from my_table
group by `from`
order by avg(late) desc
limit 1
但是您不应该使用名称如 from
的列;不是没有转义它,因为它是一个 MySQL 保留字。
关于php - 查找 MAX AVG 的 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49782092/