-2

如何从数据库中检索每个不同实体的平均值(在本例中为 venue_id)以及前 n 个平均值(AVG)

我有下表

stars   | venue_id
--------|---------
3       |5
2       |5
1       |2
2       |7
2       |7
4       |1

如何检索以下结果:

我希望每个不同场地 ID 的平均星级为“avg_rating”。

平均评分

venue_id    | avg_rating
------------|------------
5           |2.5
2           |1
7           |2
1           |4

另外,我在选择以下结果时遇到问题。我想要前 N 个平均星级或平均评分。

前 2 名评分

venue_id    | avg_rating
------------|-------
1           |4
5           |2.5
4

1 回答 1

2
select 
    venue_id
    , avg(stars) as avg_rating
from myTable 
group by venue_id
order by avg(stars) desc
-----------------------
-- and to get the top 2
-----------------------
limit 2
于 2013-06-13T13:31:13.517 回答