首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图查找平均值最大值(SQL)的记录

试图查找平均值最大值(SQL)的记录
EN

Stack Overflow用户
提问于 2015-04-12 16:15:22
回答 1查看 43关注 0票数 0

我有一个带有生产者和产品表的数据库,我正在试图找到平均价格最高的产品的生产者。基本上,我要找出每个生产者的平均水平,然后找出平均价格最高的生产者,如果他们有相同的平均水平,就可以有多个生产者拥有最昂贵的平均水平。

我尝试了下面的代码,但不明白为什么它不起作用?

忘记提到这是针对SQL的。

编辑:忘了说结果应该只显示最昂贵的平均值。

代码语言:javascript
复制
SELECT producerId, average 
FROM (SELECT producerId, AVG(productPrice) AS average 
      FROM product NATURAL JOIN producer 
      GROUP BY producerId) AS averages 
WHERE MAX(average) 

例子: producerID \x{e 010}平均值

代码语言:javascript
复制
1      |    10
2      |    8.5
3      |    10
4      |    9
5      |    8

结果:平均producerID值

代码语言:javascript
复制
1      |   10
3      |   10
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 17:06:23

如果您想获得3个最昂贵的生产者,请使用如下查询:

代码语言:javascript
复制
SELECT producerId, average
FROM (
    SELECT pr.producerId, AVG(pr.productPrice) AS average
    FROM product AS pp INNER JOIN producer AS pr ON pp.producerId = pr.producerId
    GROUP BY pr.producerId
 ) AS T
 ORDER BY average DESC
 LIMIT 3;

有关更多信息,请参见文档:https://dev.mysql.com/doc/refman/5.0/en/select.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29591585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档