Hive基础知识(十五):Hive中SQL排序方式全解

本文详细介绍了Hive中的ORDERBY子句及其在查询中的应用,包括升序和降序排序,以及与SortBy的区别。此外,讨论了DistributeBy和ClusterBy在数据分区和排序中的作用,强调了在分布式计算中的性能优化策略。

1. 全局排序(Order By)

Order By:全局排序,只有一个 Reducer

1)使用 ORDER BY 子句排序

ASC(ascend): 升序(默认)

DESC(descend): 降序

2)ORDER BY 子句在 SELECT 语句的结尾

3)案例实操

(1)查询员工信息按工资升序排列

hive (hive3)> select e.ename,e.sal from emp e order by e.sal;
e.ename e.sal
KING  NULL
SMITH 800.0
JAMES 950.0
ADAMS 1100.0
WARD 1250.0
MARTIN 1250.0
MILLER 1300.0
TURNER 1500.0
ALLEN 1600.0
CLARK 2450.0
BLAKE 2850.0
JONES 2975.0
SCOTT 3000.0
FORD 3000.0
Time taken: 4.87 seconds, Fetched: 14 row(s)

(2)查询员工信息按工资降序排列

hive (hive3)> select e.ename,e.sal from emp e order by e.sal desc;
e.ename e.sal
FORD 3000.0
SCOTT 3000.0
JONES 2975.0
BLAKE 2850.0
CLARK 2450.0
ALLEN 1600.0
TURNER 1500.0
MILLER 1300.0
MARTIN 1250.0
WARD 1250.0
ADAMS 1100.0
JAMES 950.0
SMITH 800.0
KING  NULL
Time taken: 2.08 seconds, Fetched: 14 row(s)

2. 按照别名排序

按照员工薪水的2 倍排序

hive (hive3)>  select ename, sal*2 twosal from emp order by twosal;

3. 多个列排序

按照部门和工资升序排序

hive (hive3)> select e.deptn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值