php - 查找 MAX AVG 的 SQL 请求

标签 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

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

感谢您对旅游的帮助!

最佳答案

您可以在 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/

相关文章:

mysql - 将数据导入MySQL数据库

php - Mysql-PHP如何将长字符串行分成不同的列?

javascript - 将整个下拉菜单从一个站点复制到另一个站点

mysql - MySQL 查询中的多个 SELECT 语句

mysql - 当项目分为两个特定类别时选择单行 [MySql]

mysql - 查找数据库中数字范围的差距

php - 如何在运行时为数组索引指定一个命名键

Apache 2.4.10 + mod_proxy_fcgi + PHP-FPM 与 CHROOT => 404 错误

php - 我想建立一个博客系统,个人用户可以编辑和删除他的帖子,但这并不是每个用户都可以编辑删除任何用户帖子。

sql - 通过raster2pgsql导入栅格,但出现sql语法错误