首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将sql中的常量相乘时语法错误

将sql中的常量相乘时语法错误
EN

Stack Overflow用户
提问于 2015-10-07 03:22:15
回答 2查看 336关注 0票数 0

我有一个表review如下:

代码语言:javascript
运行
复制
review
--> stars           (int) 
--> business_id     (varchar)

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

到目前为止我有这样的想法:

代码语言:javascript
运行
复制
SELECT Count(*)
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5") * 100;

我得到一个语法错误:

错误:接近"*":语法错误。

我不明白。如果我选择不乘以100,只返回stars的个数和value=5,那么如果我这样做的话:

代码语言:javascript
运行
复制
SELECT Count(*)
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5")

它工作得很完美。

我应该如何纠正我的语法,以使我可以正确地乘?

注意,OqKuUkYMCWShOHOspYLGZQ只是一个随机的busines_id

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-07 04:04:05

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

代码语言:javascript
运行
复制
SELECT Count(*) * 100
FROM   (SELECT stars
        FROM   review AS r
        WHERE  r.business_id = "OqKuUkYMCWShOHOspYLGZQ"
               AND r.stars = "5") 
票数 1
EN

Stack Overflow用户

发布于 2015-10-07 03:35:18

使用此查询:

代码语言:javascript
运行
复制
DECLARE @table TABLE
(
stars INT,
business_Id VARCHAR(100)
)

INSERT INTO @table (stars, business_Id)
VALUES (5,'OqKuUkYMCWShOHOspYLGZQ')

INSERT INTO @table (stars, business_Id)
VALUES (5,'OqKuUkYMCWShOHOspYLGZQ')

select COUNT(stars) * 100
from @table
where business_id='OqKuUkYMCWShOHOspYLGZQ' and stars=5;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32983256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档