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''
答案 0 :(得分:3)
经过编辑以包含实际的表名。
使用有关您的表名的附加信息,我可以看到问题所在。 “ order”是一个SQL关键字,因此您不能原样使用它作为查询中的表名。您必须用方括号的反斜线包围它(因为MariaDB):
select sum(price) from `order` where ORDERID = 1000
这假定价格以数字类型存储。通常,这是一个非常安全的假设,但是如果将其存储为VARCHAR,则将无法正常工作(您可能应该更改表结构以使用更合适的类型)。