【发布时间】:2013-12-16 09:16:14
【问题描述】:
我有一张露营地的评论表,其中包含类别(价格、景观、设施、位置)。 以下查询用于按四个类别的平均值显示前 20 条评论。
SELECT
ROUND(((R.price + R.location + R.facilities + R.view) / 4), 2) AS avg,
R.poi_id,
poi.Name
FROM
`Reviews` AS `R`
LEFT JOIN `poi` ON `R`.`poi_id` = `poi`.`ID`
ORDER BY avg DESC
LIMIT 20
但是我意识到,该查询不适合同一个露营地有多个评论的情况。
那么,是否有一个查询会返回评分最高的 20 个露营地 (poi),以及该 poiID 的平均价格、景观、设施、位置/评论数量?
【问题讨论】: