mysql:找到最高的平均分

时间:2010-03-02 12:15:33

标签: mysql

我写了一个查询,可以得出每个玩家4的平均得分:


SELECT batsmen.player_id, AVG(score)
FROM batsmen
WHERE batsmen.inning_no=4
GROUP BY player_id;

但现在我需要找到最高的平均分。显然我可以查看输出,orderby并轻松看到最高的平均值,但我想要一个查询,为我拉出它。

我假设我需要使用


SELECT MAX(score);

在上面的avg查询中收到结果集。我需要加入/子查询吗?

由于 颖

3 个答案:

答案 0 :(得分:3)

也许这将满足您的需求:

SELECT player_id, AVG(score)
FROM batsmen
WHERE batsmen.inning_no=4
GROUP BY player_id
ORDER BY 2 DESC
LIMIT 1;

答案 1 :(得分:0)

未经测试,但试试这个:

SELECT player_id, avg_score
FROM (
  SELECT batsmen.player_id, 
    AVG(score) avg_score
  FROM batsmen 
  WHERE batsmen.inning_no=4 
  GROUP BY player_id
)
ORDER BY avg_score DESC
LIMIT 0,1;

下进行。

答案 2 :(得分:-1)

我相信SQL应该是:

SELECT MAX(
 SELECT AVG(score)
 FROM batsmen
 WHERE batsmen.inning_no=4 
 GROUP BY player_id
);