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的区别相关推荐

  1. C语言中()和【】的区别?

    C语言中()和[]的区别? 1.注意()是初始化,[]是定义多个对象. 2.int* p = new int (100) 是创建一个int型的内存,并赋值为100; int *p = new int[ ...

  2. SQL Server中SET赋值和SELECT赋值的区别

    2019独角兽企业重金招聘Python工程师标准>>> 一.SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值 SELECT @VAR1='Y',@VAR ...

  3. c语言中换行符与回车符的区别,C语言中换行符与回车符的区别

    本文章详细介绍了回车与换行符的由来和区别.讲解,通俗易懂,可以使自己深入理解它们 C语言中换行符与回车符的区别 能不能说"换行符就是输入完一行内容后,光标转到下一行的起始位置",而 ...

  4. c语言中不用换行读符而直接换行,C语言中换行符与回车符的区别

    1.C 语言中换行符与回车符的区别能不能说"换行符就是输入完一行内容后,光标转到下一行的起始位置",而"回车符就是输入完一行后光标转到该行的起始位置,其并不换行" ...

  5. sql server中的varchar和Nvarchar有什么区别?

    很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...

  6. c语言标量变量是什么,C语言中的结构和联合之间的区别

    C中的结构 结构是C语言中可用的用户定义数据类型, 它允许组合不同种类的数据项.结构用于表示记录. 定义结构: 要定义结构, 你必须使用struct声明. struct语句定义一种新的数据类型, 该数 ...

  7. SQL SERVER中强制类型转换cast和convert的区别

    在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的, 只是语法不同. cast一般更容易使用,convert的优点是可以格式化日期和数值. 代码 select CA ...

  8. sql语句中change和modify修改语法的区别

    sql语句中modify和change都有修改.改变的意思,那么在使用中,它们的区别主要在哪里呢? 1.不同点: 均可用于alter语句中,修改字段属性: 2.相同点: 主要有2点区别 (1)modi ...

  9. c语言中按位或与按位异或的区别,C:按位与、按位或、按位异或运算

    一.按位与 & 1.概念:参加运算的两个对象,按二进制位进行"与"运算,负数按补码形式参加按位与运算. 2.规则 0&0=0; 0&1=0; 1&0 ...

最新文章

  1. The application server could not be contacted
  2. mysql oracle 备份数据库备份_完整备份Oracle数据库
  3. redis 集群环境部署
  4. 移动前端的一些必备知识
  5. [luogu1486][NOI2004]郁闷的出纳员
  6. python django文档_python Django中文文档下载
  7. uni-app自定义配置安卓模拟器 - MuMu模拟器
  8. html js开发课程表,利用JS实现手机移动端课程表代码
  9. U盘和移动硬盘不能安全删除问题及解决方案
  10. 计算机网考里操作题发邮件,电大_全国计算机应用基础考试_网考内容_全部操作题(小条版)...
  11. windows提权思路
  12. 北美电影票房Top10-2020年1月10日:《1917》扬眉吐气
  13. 重装linux后没声音,笔记本电脑安装ubuntu系统后外放没有声音 ,耳机正常,三步解决办法...
  14. 猫咪藏在哪个房间python_猫咪总喜欢把自己藏在不可思议的地方,这是为什么呢?...
  15. 选择困难症患者的福音!PaddleHub帮你任意搭配你想要的颜色!
  16. 天气预报在计算机的应用中是,计算机在天气预报中的应用.ppt
  17. SQL server替换字符串
  18. Web 容器、HTTP 服务器 、Servlet 容器区别与联系
  19. 计算机管理用户没有怎么办,win10管理没有本地用户和组怎么办
  20. springboot毕设项目学生成绩管理系统o8mkp(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. PCL之多可视化窗口
  2. 如何在定制化组件中实现并使用v-model
  3. xshell 登录kail拒绝了密码 已解决
  4. php 呼叫中心 源码,FreeSWITCH+Workerman+PHP 搭建呼叫中心
  5. Android 7.1 App Shortcuts使用
  6. 【数据结构笔记13】C实现:判别是否是同一颗二叉搜索树(BST)
  7. EDA实验课课程笔记(一)——linux操作系统及linux下的基本指令
  8. appim自动化--点击指定控件的指定位置
  9. 怎样用计算机演示声音的波形,趣味物理实验 用计算机观察声音的波形
  10. 子元素应该margin-top为何会影响父元素【转】