Sql请求查找MAX AVG

时间:2018-04-11 18:26:09

标签: php mysql sql database

我想通过列获取最大平均数据组。我有一个这样构建的数据库:

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

但它不起作用......

感谢您的巡回帮助!

1 个答案:

答案 0 :(得分:2)

您可以按limit 1降序使用order by avg

select `from`
from my_table 
group by `from` 
order by avg(late) desc 
limit 1 

但是您不应该使用名称为from的列;并非没有逃避它,因为它是一个MySQL保留字。