我有一个表review
,如下所示:
review
--> stars (int)
--> business_id (varchar)
我想编写一个查询,给定一个
business_id
,提取与此stars
对应的value = 5
的business_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/