我的查询从表gig
中获取结果,并为该特定演出提供平均的客户星级。我想取大于3的恒星平均值。
但是,平均值类似于4.00000
,3.90000
,2.8000000
。可以,但是我只想获取平均值大于3.0
的结果的结果。
但是查询以错误结束。
这是我的查询:
SELECT
gig.* ,
(SELECT AVG(order_customer_stars)
FROM orders
WHERE orders.gig_id = gig.gig_id) AS star_average
FROM gig
WHERE star_average > 3
请帮忙。谢谢
最佳答案
MySQL扩展了hading子句以执行您想要的操作:
SELECT gig.* ,
(SELECT AVG(order_customer_stars)
FROM orders
WHERE orders.gig_id = gig.gig_id
) AS star_average
FROM gig
HAVING star_average > 3;
在其他数据库中,您将使用CTE,子查询或横向联接。
关于mysql - 通过比较浮点值过滤结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55199027/