我在一个表中有3列,如下所示:
|---------------------|------------------|-------------|
| dept | class | item |
|---------------------|------------------|-------------|
| 234 | 34 | 6783 |
|---------------------|------------------|-------------|
| 784 | 78 | 2346 |
|---------------------|------------------|-------------|
当我连接3列并创建一列作为“item\u no”(值234-34-6783)时,当我在groupby函数中使用新列item\u no时,它会抛出一个错误-“invalid table alias or column reference”有人能帮我吗?
select dept, class, item, concat(dept, '-', class, '-', item) as item_no, sum(sales)
from sales_table
group by dept, class, item, item_no;
列数据类型为smallint
1条答案
按热度按时间e4yzc0pl1#
这里有两种方法:
或:
也就是说,我以为hive支持
group by
,所以这也应该起作用:如果
item_no
不过,它们是表中的一列。位置符号也适用: