通过比较浮点值过滤结果

时间:2019-03-16 16:34:05

标签: mysql sql

我的查询从表gig中获取结果,并为该特定演出分配了平均客户星级。我想取大于3的恒星平均值。

但是,平均值类似于4.000003.900002.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

请帮助。谢谢

1 个答案:

答案 0 :(得分:0)

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,子查询或横向联接。