Hive 中类SQL语言中的 oder by,gruop by的区别
order by 是按字段排序
group by 是按字段分组,即select 字段必须是“分组依据字段”
order by 从英文翻译出发,就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。
group by 从英文翻译理解,就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。
关于“聚合函数”,简单的理解就是像sum()、count()、avg()等都是“聚合函数”
使用group by 的目的就是要将数据分类汇总。
(1)原始数据表
类别 | 数量 | 备注 |
a | 2 | a_001 |
a | 3 | a_002 |
b | 7 | a_003 |
(2)group by 语句
select 类别, sum(数量) as 数量之和 from A group by 类别
(2)的结果如下:
类别 | 数量 |
a | 5 |
b | 7 |
(3) group by 与 order by 语句
select 类别, sum(数量) AS 数量之和 from A group by 类别 order by sum(数量) desc
(3)的结果如下:
类别 | 数量 |
b | 7 |
a | 5 |
(4)总结
order by是按指定的列的升序或降序来给查询结果排序,
它不需要查询结果中出现order by的栏位.
更改Order by里的栏位只会影响查询结果的顺序,而不影响查询出的记录总数,和每条记录的内容.
group by是按指定的列对满足Where条件的所有记录分组,并对组内的一些数值型栏位计算出每组的一个统计指标,如求和、求个数、求平均值、求最大值、求最小值、、、、、、、
它对查询结果有个要求:查询结果中的出现的栏位必须是Group by中栏位的子集。
更改Group by里栏位的顺序不会对查询结果有任何影响;
但是更改Group by的栏位,会对查询得到的记录数量,以及各个汇总函数的结果造成影响。
Hive 中类SQL语言中的 oder by,gruop by的区别相关推荐
- C语言中()和【】的区别?
C语言中()和[]的区别? 1.注意()是初始化,[]是定义多个对象. 2.int* p = new int (100) 是创建一个int型的内存,并赋值为100; int *p = new int[ ...
- SQL Server中SET赋值和SELECT赋值的区别
2019独角兽企业重金招聘Python工程师标准>>> 一.SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值 SELECT @VAR1='Y',@VAR ...
- c语言中换行符与回车符的区别,C语言中换行符与回车符的区别
本文章详细介绍了回车与换行符的由来和区别.讲解,通俗易懂,可以使自己深入理解它们 C语言中换行符与回车符的区别 能不能说"换行符就是输入完一行内容后,光标转到下一行的起始位置",而 ...
- c语言中不用换行读符而直接换行,C语言中换行符与回车符的区别
1.C 语言中换行符与回车符的区别能不能说"换行符就是输入完一行内容后,光标转到下一行的起始位置",而"回车符就是输入完一行后光标转到该行的起始位置,其并不换行" ...
- sql server中的varchar和Nvarchar有什么区别?
很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...
- c语言标量变量是什么,C语言中的结构和联合之间的区别
C中的结构 结构是C语言中可用的用户定义数据类型, 它允许组合不同种类的数据项.结构用于表示记录. 定义结构: 要定义结构, 你必须使用struct声明. struct语句定义一种新的数据类型, 该数 ...
- SQL SERVER中强制类型转换cast和convert的区别
在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的, 只是语法不同. cast一般更容易使用,convert的优点是可以格式化日期和数值. 代码 select CA ...
- sql语句中change和modify修改语法的区别
sql语句中modify和change都有修改.改变的意思,那么在使用中,它们的区别主要在哪里呢? 1.不同点: 均可用于alter语句中,修改字段属性: 2.相同点: 主要有2点区别 (1)modi ...
- c语言中按位或与按位异或的区别,C:按位与、按位或、按位异或运算
一.按位与 & 1.概念:参加运算的两个对象,按二进制位进行"与"运算,负数按补码形式参加按位与运算. 2.规则 0&0=0; 0&1=0; 1&0 ...
最新文章
- The application server could not be contacted
- mysql oracle 备份数据库备份_完整备份Oracle数据库
- redis 集群环境部署
- 移动前端的一些必备知识
- [luogu1486][NOI2004]郁闷的出纳员
- python django文档_python Django中文文档下载
- uni-app自定义配置安卓模拟器 - MuMu模拟器
- html js开发课程表,利用JS实现手机移动端课程表代码
- U盘和移动硬盘不能安全删除问题及解决方案
- 计算机网考里操作题发邮件,电大_全国计算机应用基础考试_网考内容_全部操作题(小条版)...
- windows提权思路
- 北美电影票房Top10-2020年1月10日:《1917》扬眉吐气
- 重装linux后没声音,笔记本电脑安装ubuntu系统后外放没有声音 ,耳机正常,三步解决办法...
- 猫咪藏在哪个房间python_猫咪总喜欢把自己藏在不可思议的地方,这是为什么呢?...
- 选择困难症患者的福音!PaddleHub帮你任意搭配你想要的颜色!
- 天气预报在计算机的应用中是,计算机在天气预报中的应用.ppt
- SQL server替换字符串
- Web 容器、HTTP 服务器 、Servlet 容器区别与联系
- 计算机管理用户没有怎么办,win10管理没有本地用户和组怎么办
- springboot毕设项目学生成绩管理系统o8mkp(java+VUE+Mybatis+Maven+Mysql)
热门文章
- PCL之多可视化窗口
- 如何在定制化组件中实现并使用v-model
- xshell 登录kail拒绝了密码 已解决
- php 呼叫中心 源码,FreeSWITCH+Workerman+PHP 搭建呼叫中心
- Android 7.1 App Shortcuts使用
- 【数据结构笔记13】C实现:判别是否是同一颗二叉搜索树(BST)
- EDA实验课课程笔记(一)——linux操作系统及linux下的基本指令
- appim自动化--点击指定控件的指定位置
- 怎样用计算机演示声音的波形,趣味物理实验 用计算机观察声音的波形
- 子元素应该margin-top为何会影响父元素【转】