关于hive的总结
2017-10-25 11:11
155 查看
hive的总结:
group by:group by中有若干陷阱,首先,group by中不能使用当前层次中select查询字段的别名,如:select name a,count(*) from student group by a;这句查询语句是错误的,
但是,group by可以使用子查询中select查询字段的别名,如:select m.a,count(*) from (select name a from student)m group by m.a; 但是select m.name,count(*) from (select name a from student)m group by m.name;都是错误的,错误原因是子查询中使用了别名后,外层查询只能通过别名来对其进行操作。所以:内层查询使用别名时,外层select这个字段必须使用其别名,而且group
by必须和当前层次的select中的字段名称相同(哪怕有别名也不能用)
where和having:
where语句中不能使用当前层次查询的聚合函数,如果要使用当前层次的聚合函数,则必须使用having,当然,where可以使用子查询的聚合函数如:select m.a,m.b,count(*) from (select name a,count(*) b from student group by name)m where m.b group by m.a,m.b; 此处where中就使用了m.b也就是子查询的聚合函数,注意不能使用m.count(*)
所以:where语句中不能使用聚合函数,having语句可以,where语句中可以使用子查询的聚合函数,但是必须以别名的形式表示
相关文章推荐
- Hive关于内部表外部表以及分区表数据删除总结
- 关于HIVE优化的四种方法总结
- 关于hive数据导入方式的总结
- hadoop和hive结合使用总结(关于一个稳定性的问题)
- 关于HiveQL的常用语法总结(四)——其它技巧(hive代码优化)
- 关于Hive优化的四种方法总结
- 关于Hive优化的四种方法总结
- Hive关于内部表外部表以及分区表数据删除总结
- hive关于left join 和join时候on条件总结
- 关于Hive优化的四种方法总结
- Hive总结(三)hive组件和执行过程
- 关于硬盘和分区的知识总结
- hadoop-hive-日志分析-结束总结
- 关于typedef的用法总结
- 一点关于使用FusionCharts的体会与总结
- 关于kmp的总结
- 总结我遇见关于eclipse乱码问题解决办法
- 关于java中static关键字在单态设计模式的应用学习和总结
- Hive优化总结
- Hive 关于merge的几个参数