group by后面不能使用列的别名分析

Hive order by后面跟别名,where/ group by/ partition by后面要么跟原字段名,要么跟表达式。 order by后面跟别名,where/ group by 后面要么跟原字段名,要么跟表达式。 1 字段别名,没有使用函数 selec c1 as c2 ...... where/ group by 后面跟原字段名(c1),不然报错 order by 后面跟原字段名(c1)或别名(c2)均可 where c2 报错 group byc2 报错 order by c1 正确/ order by c2正确 2 字段经过函数处理后的别名,比如使用sum/coalesce/... 阅读详情

文章目录

复现

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)

原因

在hive中,group by的执行顺序在select之前
ps:hive中别名的使用都是严格遵循sql执行顺序的,groupby后面不能用别名
spark-sql 实操可以

Fluent DPM模型保姆级教程:三通管颗粒流动模拟,从网格导入到轨迹图生成 本文提供Fluent DPM模型在三通管颗粒流动模拟中的保姆级教程,涵盖从网格导入到轨迹图生成的全流程。通过详细步骤和参数设置,帮助用户掌握DPM模型在颗粒流动模拟中的关键技巧,适用于化工、能源等领域的工程应用。 阅读详情

相关推荐

宝塔面板添加站点及运营商SSL免费证书的申请与使用

本文详细介绍在宝塔面板下如何正确添加站点、配置站点,及在运营商如何申请免费SSL证书,将其配置到宝塔站点里。 给你的网站加一把锁,教你免费SSL证书申请,配置到自己的网站中。 环境:Ubuntu server 18 工具:宝塔控制面板 平台:阿里云 Web服务器:Nginx 宝塔:https://www.bt.cn/ 阿里云:https://www.aliyun.com/ 腾讯云:https://cloud.tencent.com/ 要求: 1.宝塔控制面板搭建完毕。 2掌握域名解析的原理。 3.了解ht

贺兰山长老 5058

SQL执行顺序

例句: select <select_list> from <left_table> <join_type> JOIN <right_table> on <join_condition> where <where_conditon> g...

xiaopohai001的专栏 528

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 400

关于 group by 后跟别名的问题

今天在做统计时为了吧名称转换,故使用了别名,但是group by 后的结果用了别名,结果确实出来了,却没有按别名的分组; Group by不能用别名的原因,因为执行到groupby 时,还没执行到select中的别名,所以别名还没生效。所以别名只能放到比如order中,distinct中。 遇到这种问题可以使用子查询替代 ...

从未完美过的博客 7091

2021年J题:基于STM32F103的周期信号波形识别与参数测量系统设计(立创EDA+SZPT_ZXL)

本文详细复盘了2021年全国大学生电子设计竞赛J题获奖项目,手把手教你如何基于STM32F103微控制器设计并实现周期信号波形识别与参数测量系统。文章深入剖析了硬件电路设计(包括程控放大、工作点抬升与滞回比较器)与核心软件算法(如动态采样、FFT频谱分析与波形识别逻辑),并分享了DMA传输、FFT库使用等实战要点与避坑指南,为嵌入式信号处理与电赛备赛提供了宝贵经验。

weixin_32673065的博客 230

西门子S7-1200模拟量的使用

模块类型核心参数输入信号处理输出信号配置转换原理数值范围TIA Portal配置编程要点 转换公式: 输出模拟量: 五、校准与线性化 硬件校准非线性补偿抗干扰措施数字滤波温度控制压力监控流量调节信号异常精度不足实践操作参考文档项目案例借鉴博客

weixin_51020122的博客 4771

达梦中sql使用group by 命令报错不是GROUP BY 表达式

2.修改dm.ini参数GROUP_OPT_FLAG=1,使用sysdba用户修改,该参数属于动态会话级参数,不用重启数据库。不然就只调整 sp_set_para_value(1,'GROUP_OPT_FLAG',1);就行,该参数针对新的会话生效,如果要对当前会话生效的话,可以执行以下过程,让已存在的会话也生效。3.配置兼容参数COMPATIBLE_MODE=4,兼容mysql,该参数属于静态参数,需要重启数据库生效。1.直接在查询中添加参数:/*+GROUP_OPT_FLAG(1)*/

zxj519911的博客 4739

S32DS使用手把手教程:从零实现CAN通信配置

深入讲解S32DS使用过程中如何从零开始配置CAN通信,涵盖关键步骤与实用技巧,帮助开发者快速上手S32DS使用中的常见问题与调试方法。

weixin_42405592的博客 1126

sql中group by后使用别名

为什么mysql的group by之后不能使用别名呢,假如有这样一个数据表(t_bike_cnt),一列为日期,另一列为投放车辆数,我们想要统计每个月的投放车辆数,并且过滤出投放车辆大于10的月份和车辆数 日期(pt) 投放车辆数 (cnt) 2020-01-01 1 2020-01-02 2 2020-01-03 3 2020-02-06 6 2020-02-07...

he_wen_jie的博客 1万+

FPGA SoC 的 RISC-V 固件开发全攻略(三):RISC-V MCU 启动流程深入解析

本文是《FPGA SoC 的 RISC-V 固件开发全攻略》专栏第 3 篇。上一篇:第 2 篇《开发环境搭建与工具链避坑》 | 下一篇:第 4 篇《RISC-V 与 ARM Cortex-M 开发差异对比》

XavierKong的博客 44

迟滞电压比较器电路的原理与计算

迟滞电压比较器是一种具有双阈值特性的电路,通过正反馈机制实现抗噪声干扰功能。文章详细分析了其工作原理,包括同相型和反相型两种结构的电压阈值计算与电阻设计方法,并提供了已知门限求电阻和已知电阻求门限的推导公式。工程应用中需注意输出类型匹配、电阻取值范围、噪声裕量设计等问题。该比较器在信号处理、波形转换等场景中具有重要应用价值,设计时需综合考虑供电电压、参考电压和噪声特性等因素。

硬核科技 2681

为什么group by后面不能使用列的别名

同事工作中遇到一个问题: select   count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade where to_char(billingdate,'YYYY') ='2017'and reportstat = 30 group by month;  -----执行报错,can't resolve mo...

涤生大数据 2万+

pymol 动画简单制作,gif、mp4导出

参考: https://www.youtube.com/watch?v=G77K9Lro8js1、直接Movie下Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec;如果要动画过渡自然,可以在这4sec后面再Append 1sec;如果需要两个视角,既可以再把窗口蛋白定位到比如配体,不用管中间过程怎么定位过去配体,再Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec添加;最后如果要整体形成个循环播放,可以在这4s

weixin_42357472的博客 8437

sql的执行顺序 & 为什么group by后面不能使用列的别名

Sql语句执行顺序 (1)FROM <left_table> (2)ON <join_condition> (3)<join_type> JOIN <right_table> (4)WHERE <where_condition> (5)GROUP BY <group_by_list&...

littlecarton的博客 1630

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

为什么Hive中的group by后面不能使用字段别名?

为什么Hive中的group by后面不能使用字段别名呢?看了这篇文章你将一目了然。 文章目录1. 案例说明2. 分析原因3. 解决办法4. 执行效率5. 总结 1. 案例说明 我们以一个例子来说明。 (1)数据 创建business.txt,内容如下: jack,2017-01-01,10 tony,2017-01-02,15 jack,2017-02-03,23 tony,2017-01-04,29 jack,2017-01-05,46 jack,2017-04-06,42 tony,2017-01-

雷恩Layne 3599

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

oracle 用别名分组,SQL – 在Group By中使用别名

SQL按照如下顺序执行查询:FROM子句WHERE子句GROUP BY子句HAVING子句SELECT子句ORDER BY子句对于大多数关系数据库系统来说,这个顺序解释了哪些名称(列或别名)是有效的,因为它们必须在前面的步骤中引入。因此,在Oracle和SQL Server中,不能在SELECT子句中定义的GROUP BY子句中使用一个术语,因为GROUP BY是在SELECT子句之前执行的。但是...

weixin_39782433的博客 2227

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Oracle pl/sql中的group by子句不能使用别名,应该这样写。

下面的语句执行的话会报错:ORA-00904: "CALLT": 标示符无效 select case when ta.call_time = 0 then 0 when ta.call_time 0 then 1 when ta.call_time 6 then 2 when ta.call_time 60 then 3 else 4 end as call

JCrazyUltimate的专栏 1万+

[转]为什么group by后面不能使用别名(除MySQL)

同事工作中遇到一个问题: select count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade whereto_char(billingdate,'YYYY') ='2017'and reportstat = 30 group by month; -----执行报错,can't resol...

weixin_30835933的博客 986

Oracle 等中的 group by与where 子句不能使用别名的原因与解决办法

下面的语句执行的话会报错:ORA-00904: "CALLT": 标示符无效 select case when ta.call_time = 0 then 0 when ta.call_time <= 6 and ta.call_time > 0 then 1 when ta.call_time <= 60 and ta.call_time > 6 th...

shadow_zed的博客 4671

sql语句中where、group by、having、order by 是否可以使用别名

sql中关于别名的使用

weixin_57129977的博客 4153

mysql group by 别名_为什么group by后面不能使用别名(除MySQL)

同事工作中遇到一个问题:select count(billingdate),to_char(billingdate,'YYYYmm') monthfrom tu_tradewhereto_char(billingdate,'YYYY') ='2017'and reportstat = 30group by month;-----执行报错,can't resolve month...........

weixin_42373103的博客 2762

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

鸭梨的博客 1506

Oracle 23ai新特性:使用列别名的 GROUP BY 和 HAVING 子句

随着数据库技术的不断发展,SQL 语言也在不断进化,以更好地满足数据查询和分析的需求。本文将探讨如何在 SQL 查询中使用列别名(column alias)或列位置(column position)来简化 GROUP BY 和 HAVING 子句,并提高查询的可读性和维护性。

安呀智数据坊的博客 1611

mysql group by 别名_MySQL 别名

MySQL 别名简介:在本教程中,您将学习如何使用MySQL别名来提高查询的可读性。MySQL支持两种别名,称为列别名和表别名。让我们详细检查每种别名。MySQL 列别名有时列的名称是不太好理解和记忆的,使得查询的输出很难理解。要为列提供描述性名称,请使用列别名。以下语句说明了如何使用列别名:SELECT[column_1 | expression] AS descriptive_nameFROM...

weixin_42520239的博客 1283
上一篇: [Hadoop]数据复制distcp vs cp
下一篇: Hive增加固定列
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值