为什么我能得到failed:invalid table 别名或列引用“”:(可能的列名是:line)当我在配置单元中查询时?

gmxoilav  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(619)

我有一个表,它的结构是:

line      string

内容是:

product_id product_date orderattribute1 orderattribute2 orderattribute3     orderattribute4 ciiquantity ordquantity price
1 2014-09 2 1 1 1 1 3 153
1 2014-01 2 1 1 1 1 1 153
1 2014-04 2 2 1 1 1 1 164
1 2014-02 2 1 1 1 3 4 162
1 2014-07 2 1 1 1 9 23 224
1 2014-08 2 1 1 1 1 7 216
1 2014-03 2 1 1 1 3 13 180
1 2014-08 2 2 1 1 4 6 171
1 2014-05 2 1 1 1 3 7 180
....
(19000 lines omited)

每件商品的总价 line 以上是数量*价格
我想知道每件衣服的总价 month 这样地:

month   sum
201401****
201402****

根据上表中的10行,201408月的总和为7216+6171,这是由(1 2014-08 2 1 1 1 1 7 216和1 2014-08 2 1 1 1 7 216)得出的。
我使用代码:

create table product as select sum(ordquantity*price) as sum from text3 group by product_date;

我得到了失败的答案:

FAILED:Invalid table alias or column reference 'product_date': (possible column names are: line)

我不熟悉Hive,我不知道如何解决这个问题。

oyt4ldly

oyt4ldly1#

你刚刚用正确的模式创建了表吗?好吧,以防万一,如果你没有

CREATE TABLE product
(product_id INT 
product_date STRING
orderattribute1 INT
orderattribute2 INT
orderattribute3 INT
orderattribute4 INT
ciiquantity INT
ordquantity INT
price INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

以及你要求的代码,

SELECT product_date, SUM(ordquantity*price) FROM product
GROUP BY product_date;

希望我能回答你的问题。哎呀!!

相关问题