首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不同类别top值的平均值

不同类别top值的平均值
EN

Stack Overflow用户
提问于 2020-11-06 17:15:31
回答 1查看 27关注 0票数 0

我有一张表,上面有3个地方,旅游景点,他们所在的国家,以及游客对这个地方的平均评分。我想根据顶级旅游景点的平均评分来比较不同的国家。我使用MySQL

它看起来基本上是这样的:

代码语言:javascript
运行
复制
Eiffel Tower     | France  | 4,2
Trakoscan Castle | Croatia | 4,6

例如,法国5个最佳旅游景点的音符平均值如何与克罗地亚5个最佳旅游景点的音符平均值进行比较。我知道如何对一个国家的所有地方进行平均,然后进行比较,但我不知道如何结合限制和分组。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-06 17:18:42

您可以使用窗口函数筛选每个国家/地区的前5个注释,然后聚合。

假设您的表具有列countryplacerating,您可以将查询表述为:

代码语言:javascript
运行
复制
select country, avg(rating) avg_rating_top5
from (
    select t.*,
        row_number() over(partition by country order by rating desc) rn
    from mytable t
) t
where rn <= 5
group by country

请注意,窗口函数仅在MySQL 8.0中可用。

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

https://stackoverflow.com/questions/64711806

复制
相关文章

相似问题

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