我有一个表review,如下所示:

review
--> stars           (int)
--> business_id     (varchar)

我想编写一个查询,给定一个business_id,提取与此stars对应的value = 5business_id的数量,将它们(由此获得的星数)乘以100并返回输出。

到目前为止,我有这个:
SELECT Count(*)
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5") * 100;

我收到语法错误:



我不懂如果我选择不乘以100,而只返回stars的数量,其值为value = 5,那就是我这样做了:
SELECT Count(*)
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5")

它完美地工作。

我应该如何纠正语法,以便正确进行乘法运算?

注意OqKuUkYMCWShOHOspYLGZQ只是一个随机的busines_id

最佳答案

您不是将数字与100相乘,而是尝试与子查询返回的行相乘。
您可以在下面的查询中尝试一下。希望对您有帮助

SELECT Count(*) * 100
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5")

关于sql - 在SQL中乘以常量时的语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32983256/

10-12 23:52