SQL查询添加列

时间:2019-04-29 16:40:13

标签: mysql sql sum

FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. org/apache/hadoop/hdfs/protocol/SystemErasureCodingPolicies

需要一个查询,当orderid为1000时返回所有价格,并返回150。 我试过用where子句求和函数,但是它不起作用。 这是我的代码:

| ORDERID | subtotal | 
--------------------
|  1000   |   50  |    

|  1000   |   100 |

|  1001   |   75  |

任何我的错误:     您的SQL语法有误;检查对应的手册     您的MariaDB服务器版本,以使用在'order where附近使用的正确语法     第1行的ORDERID ='1000''

1 个答案:

答案 0 :(得分:3)

经过编辑以包含实际的表名。

使用有关您的表名的附加信息,我可以看到问题所在。 “ order”是一个SQL关键字,因此您不能原样使用它作为查询中的表名。您必须用方括号的反斜线包围它(因为MariaDB):

select sum(price) from `order` where ORDERID = 1000

这假定价格以数字类型存储。通常,这是一个非常安全的假设,但是如果将其存储为VARCHAR,则将无法正常工作(您可能应该更改表结构以使用更合适的类型)。