下面是我的伪代码
SELECT DISTINCT place FROM opinions
WHERE COUNT(recommended)> COUNT(not recommended)
ORDER BY ASC
能不能有人在看过我照片中的描述后,对我的代码进行改进,并检查是否有错误使用子句?请先阅读问题。
发布于 2020-03-04 21:33:15
您可以使用聚合,并使用having
子句进行过滤:它允许使用聚合函数。avg()
可以很方便地处理类似布尔的观点:
select place
from opinions
group by place
having avg(case when opinion = 'recommended' then 1.0 else 0 end) > 0.5
order by place
一些数据库具有可以稍微缩短having
子句的特性。
在MySQL中:
having avg(opinion = 'recommended') > 0.5
https://stackoverflow.com/questions/60534960
复制