【发布时间】:2015-05-01 15:30:19
【问题描述】:
我有一张名为“评分”的表格
ID RATING
1 5
1 2
2 5
3 1
3 4
3 4
我想找到大于或等于总体平均评分(所有餐厅总评分)的每家餐厅(相同 id)的平均评分
例如,餐厅 ID 1 的平均值为 3.5,餐厅 ID 3 的平均值为 3。本例中的整体平均值为 3.5 所以表应该返回
ID RATING
1 3.5
2 5
到目前为止,我是这样做的,但我不确定如何将其与总体平均值进行比较。
SELECT x.id, AVG(x.rating) AS average
FROM ratings
GROUP BY x.rid;
所以这会返回一个表格,其中包含每个餐厅 ID 的平均评分,但是如何在不硬编码的情况下将其与总平均评分进行比较?
【问题讨论】:
-
您使用什么 RDBMS?它是否支持公用表表达式? (最后一个问题提示如何解决)
-
我正在使用 MySQL 工作台
标签: sql