【发布时间】:2016-11-03 08:19:38
【问题描述】:
桌式公寓>
apartment_id || apartment_name || status
==============================
1 joys active
5 harrys active
10 tols active
表格评分>
user_id || apartment_id || rating
===================================
1 1 4
2 5 3
3 10 4
4 10 5
我需要获取评分大于某个值的公寓名称(比如“x”)..如果同一公寓有超过 1 个来自不同用户的评分(例如在 apartment_id = 10 中),则应返回公寓,如果平均值大于'x'..
SELECT a.* FROM `apartment` AS a LEFT JOIN `ratings` AS b ON a.`apartment_id` = b.`apartment_id` WHERE a.`status` NOT IN ('inactive') AND (b.apartment_id IN (SELECT apartment_id FROM `ratings` WHERE `rating` > x)) GROUP BY a.`apartment_id`
如果公寓只有一个评级,上述查询可以正常工作。如果公寓有多个评级值,请提供帮助
【问题讨论】:
标签: mysql