Hive group by后面不能用列别名
比如,如下是会报错的,year这个别名此时还是不能用的
select deptno `dept`,year(hiredate) `year`,sum(sal)
from tb_emp
group by deptno,year;
org.apache.hadoop.hive.ql.parse.SemanticException:Line 5:16 Invalid
table alias or column reference ‘year’: (possible column names are:
empno, ename, job, mgr, hiredate, sal, comm, deptno)
如下这种不用别名是可以的,同时虽然出现了两次year(hiredate),但是并不会增加运行耗时
select deptno `dept`,year(hiredate) `year`,sum(sal)
from tb_emp
group by deptno, year(hiredate);
+----+----+----+
|dept|year|c2 |
+----+----+----+
|NULL|NULL|NULL|
|10 |1981|7450|
|10 |1982|1300|
|20 |1980|800 |
|20 |1981|5975|
|20 |1987|4100|
|30 |1981|9400|
+----+----+----+
原因
在hive中,group by的执行顺序在select之前,所以…
总结
- 要么嵌套要么不要使用列别名
参考
group by 和where 条件后面不能用刚设置的别名。_weixin_34245169的博客-CSDN博客
https://blog.csdn.net/weixin_34245169/article/details/93737105
为什么group by后面不能使用列的别名_涤生手记-CSDN博客
Hive group by后面不能用列别名相关推荐
- 为什么Hive中的group by后面不能使用字段别名?
为什么Hive中的group by后面不能使用字段别名呢?看了这篇文章你将一目了然. 文章目录 1. 案例说明 2. 分析原因 3. 解决办法 4. 执行效率 5. 总结 1. 案例说明 我们以一个例 ...
- SQL语句中,为什么where子句不能使用列别名,而order by却可以?
当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件. 例如下面的SQL语句: select id, (c1 + c2) as s from t1 where ...
- mysql中别名(列别名和表别名)
1.介绍 使用MySQL别名来提高查询的可读性. MySQL支持两种别名,称为列别名和表别名. 有时,列的名称是一些表达式,使查询的输出很难理解.要给列一个描述性名称,可以使用列别名. 用法: SEL ...
- hive 外部表不支持添加列
hive 外部表不支持添加列 其实在之前我也不知道,在官网上面也没有看到 在操作的时候才发现的 alter table hbase_fct_mcht_item_day add columns(avg_ ...
- oracle列别名带双引号笔记
场景 oracle报错: java.sql.SQLSyntaxErrorException: ORA-00904: "t"."user_account": in ...
- Hive表结构操作(增加列,删除列,修改列,移动列)
前言 Hive 表结构操作 内容 1.给hive表中添加某个字段: 格式: alter table 表名 add columns (字段名 字段类型 comment '字段描述'): 示例1: alt ...
- sqlite查询乘以某列如果是null就换成_大数据之Hive group by with cube/rollup分组查询...
group by sql 查询时,我们常将聚合函数和group by 结合起来对某一个或多个字段进行分组查询,例如: select addcode,count(distinct sbtid)uv fr ...
- 为什么group by后面不能使用列的别名
同事工作中遇到一个问题: select count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade where to_ ...
- hive的lateral view行转列
1.hive中的行转列最常用的就是lateral view的语法,例如: select id,vcol from t lateral view explode(col) vtable as vcol ...
最新文章
- Oracle 重做日志简介
- 纸牌游戏10点半c语言,python10点半纸牌游戏_【Python】Python编的纸牌游戏
- Franzis CutOut 9 Professional中文版
- 基于keepalived搭建MySQL高可用集群
- 210221阶段三线程、信号量、互斥锁
- 使用Google Guava创建收藏和实现不变性
- 如何修改wince的网络配置
- 经典sql语句50题_SQL面试经典50题:带你从建表开始
- Java中的try/catch/finally
- 调查:Win7是勒索病毒的重灾区 XP受影响不足0.1%
- ffmpeg-20160629-git-bin.7z
- 算法竞赛入门经典(第二版) 答案汇总(持续更新)
- 联想笔记本电脑V110拆机、清灰详细步骤
- 电路分析基础笔记(静态电路+动态电路)
- 传统存储方式_制造核心系统传统存储升级全闪存F900或混闪V7000F实施方案在线探讨...
- 计算机cpu电压,怎么才能知道自己电脑的cpu电压
- 强化学习代码实操和讲解(一)
- ASP.NET Core 导出Excel文件
- Semantic Segmentation: A thorough Review
- tableau-客户留存分析模型
热门文章
- 常见的SAS接口类型、接口连接器外观详细解读
- mpacc和计算机硕士,考MPAcc还是工作?读研三年VS工作三年对比!
- python json dumps 中文_Python下调用json.dumps中文显示问题解决办法
- 在pytorch中使用tensorboard
- tcl 查询与设置编码格式
- Android Studio中快捷键实现try catch等功能包含代码块
- php 占位符替换_AJAX ASP / PHP实例
- sum 去重_总结leetcode上【排列问题】【组合问题】【子集问题】回溯算法去重的两种写法!...
- java json data_java中json数据格式的处理
- 不能使用 float 和 double 来表示金额等精确的值