php - MySQL - 唯一行的平均值

标签 php mysql sql

如果我有三列:

id, user, points

我的数据是:

+-------+------------------+-------------+
|   id  |       user       |  points     |
+-------+------------------+-------------+
|   1   |       A          |    100      |
+-------+------------------+-------------+
|   1   |       A          |    200      |
+-------+------------------+-------------+
|   2   |       B          |    300      |
+-------+------------------+-------------+
|   2   |       B          |    400      |
+-------+------------------+-------------+

我想要每个用户的最高分的平均值。 对于这个例子,我想得到的结果是:300 分 ((200+400)/2)。

当我使用以下 Mysql 查询时,我得到:250:

SELECT avg(points) FROM table

最佳答案

SQL DEMO

试试这个:

SELECT avg(points) FROM (
    SELECT max(points) as points FROM table1 group by id
) as T

首先获取每个用户的max点数,然后获取他们的AVG

关于php - MySQL - 唯一行的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299486/

相关文章:

php - 从数据库加载的表不会通过 POST 发送正确的数据

php - nodejs无法读取phpsessid并返回错误未定义

mysql - 不同订单统计的表结构

php - Laravel Ajax 成功消息 : Returning Contact Form Name Input

sql - 没有连接的插入语句会导致先前不存在重复项的重复项?

sql - 隔离括号内的字符

mysql - 使用 LEFT JOIN 的慢速 SQL 查询

php - 在 PHP 中处理图像会产生条纹图案

php - Laravel 删除查询 where is null

php - MYSQL 选择日期范围内的最大计数