group by和order by的用法和区别

1 篇文章 0 订阅
订阅专栏

一、order by的用法

使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。

当排序列含空值时:

ASC:排序列为空值的元组最后显示。

DESC:排序列为空值的元组最先显示。

为了好记忆,我的理解是,可以把null值看做无穷大,因为不知道具体为多少。然后去考虑排序,asc升序null肯定在最后,而desc降序,null肯定在最前面。

1》单一列属性排序

举例1:默认排序:

select * from s

select * from s order by sno desc

按照sno降序:

2》多个列属性排序

选择多个列属性进行排序,然后排序的顺序是,从左到右,依次排序。

如果前面列属性有些是一样的话,再按后面的列属性排序。(前提一定要满足前面的属性排序,因为在前面的优先级高)。

举例2:

 
  1. select * from s

  2. order by sname desc, sage desc

首先按照sname降序排序,然后出现了xx一样的,在按照sage降序排序。(默认sage是升序)。

如果最开始使用sno排序,

 
  1. select * from s

  2. order by sno desc, sage asc


必须先满足前面列属性的排序(sno在前优先级高)。才会去考虑后续列属性的排序。

二、group by的用法

group by按照查询结果集中的某一列(或多列),进行分组,值相等的为一组。

1》细化集函数(count,sum,avg,max,min)的作用对象:

未对查询结果分组,集函数将作用于整个查询结果。

对查询结果分组后,集函数将分别作用于每个组。

例子3:

求各个课程号及相应的选课人数:

SELECT cno,count(sno) from sc

对整个表进行count。

SELECT cno,count(sno) from sc group by cno


对分组的表进行count

sc表内容如下:

2》GROUP BY子句的作用对象是查询的中间结果表

分组方法:按指定的一列或多列值分组,值相等的为一组。

使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性(比如:sno)和集函数(比如:count())。

select sno,count(cno) from sc group by sno


3》多个列属性进行分组举例:

select cno,grade,count(cno) from sc group by cno,grade


cno为1且成绩为66的,有3个

4》使用HAVING短语筛选最终输出结果

只有满足HAVING短语指定条件的组才输出。

HAVING短语与WHERE子句的区别:作用对象不同。

1》WHERE子句作用于基表或视图,从中选择满足条件的元组

2》HAVING短语作用于,从中选择满足条件的

举例:

查询选修了3门以上课程的学生学号:

select sno from sc group by sno having count(cno)>3


举例:

查询选修了3门以上课程,且所有课程成绩都高于60分的学生学号及课程数

 
  1. select sno , count(cno)

  2. from sc

  3. where grade > 60

  4. group by sno having count(cno) > 3


GROUP BY 和 ORDER BY一起使用
haiross的专栏
08-28 37万+
====================== 写程序也有很长的一段时间了,有些东西我总不曾去思考,很少去积累一些有用的东西,总喜欢“用要即拿”的心态来对待,这是非常不好的坏习惯。这样只会造成依赖心太强,每当遇到一些小小的问题都需要去翻资料。就好像今天写一条查询语句的时候,连group by 和 order by连用都不清楚,我想我以后得注意这些问题。 正确使用如下: 以下是引
sqlorder by 和 group by的区别
09-09
SQL查询中,`ORDER BY` 和 `GROUP BY` 是两个重要的子句,它们的作用不同,但都用于处理数据的组织和展示。了解这两者的区别对于编写高效的SQL语句至关重要。 1. `ORDER BY` 子句: `ORDER BY` 用于对查询结果...
深入解析mysqlorder by与group by的顺序问题
lxw1844912514的博客
01-07 5701
1.mysqlorder by 与group by的顺序是:select from where groupby orderby注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group by中最大的或最小的某一字段使用 max或min函数。例子:select s...
SQLserver中的group by和ORDER BY
最新发布
愿你历尽千帆,归来仍是少年。
08-20 1002
子句结合使用,实现分页效果(在 SQL Server 2012 及以后版本中)。一起使用,尤其是在 SQL Server 2008 及以后的版本中。在 SQL Server 2008 R2 及以后的版本中,可以使用。可以按照一个或多个列对数据进行分组,并返回每个组的聚合数据。子句结合使用,先选择前 N 行,然后对这些行进行排序。:可以按照函数的结果进行排序,例如按照字符串长度排序。:按照多个列排序,每列可以指定不同的排序方向。:可以按照多个列的值对数据进行分组。:可以按照列的表达式结果进行排序。
group by以及order by
weixin_43743711的博客
06-16 681
mysql
group by与order by的区别
风中的默默
07-08 5万+
1. order by order by比较简单,作用就是排序 asc 从上到下慢慢升序 desc 从上到下慢慢降序 默认为升序(就是你sql不写order by 它就是升序) order by后面跟多个字段时,排序按就近原则依次而来 2. group by order by 我的理解是:聚合分组 聚合的意思就是聚合函数:例如 sum()、avg()、count()等等 直接上个栗子: ...
order by 和 group by 的区别
weixin_34352449的博客
06-14 221
order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”?像sum()、count()、avg()等都是“聚合函数”使用group by 的目的就是要将数据分类汇总。 一般如...
group by,having,order by的用法详解
12-16
SQL查询中,`GROUP BY`,`HAVING`,...理解并熟练掌握`GROUP BY`,`HAVING`,`ORDER BY` 的用法对于进行复杂的数据分析和报表生成至关重要。在实际使用中,要结合具体需求灵活运用这三个子句,以获取所需的数据视图。
Oracle中分组查询group by用法规则详解
09-08
`GROUP BY`是Oracle SQL中用于数据分组的关键语句,常与聚合函数、`HAVING`子句和`ORDER BY`子句一起使用,提供了一种强大方式来分析和汇总数据库中的大量数据。了解并熟练掌握这些用法对于进行复杂的数据分析至关...
group by 和 order by 的区别 + 理解过程
热门推荐
Mecho的博客
07-25 14万+
order by 和 group by 的区别 order by 和 group by 的区别: 1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 注意:聚合函数是---sum()、count()、...
group by和order by区别
NIUBILISI的博客
09-06 259
order by指的是行的排序方式,默认为升序,order by后面必须出现排列字段名。 group by指的是分组。需要有聚合函数,比如sum、count、avg配合使用。 https://blog.csdn.net/sinat_40692412/article/details/81200133#commentBox ...
group by和order by的区别(小白必看!!!)
weixin_58823979的博客
06-14 1124
group by和order by group by:按照字段进行独立分组 order by:根据要求对某字段进行排序,可升序降序
group by 和 order by 的区别
snowy
04-28 540
1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。聚合函数是—sum()、count()、avg()等都是“聚合函数”。 ...
GROUP BY与ORDER BY
ITCBL
10-23 447
  GROUP BY 与ORDER BY的区别   order by是用来排序的 、group by 是用来分组的 例如:  1.按年龄排序表中的记录(这个说的是大小的顺序) select * from users order by age 2.按年龄分类表中数据(就是求各个年龄的人数,涉及到类似count()等函数对某一类别进行统计,才使用group by ) select...
group by 和 order by
心凉我暖、的博客
12-30 297
Group by 从字面意义上理解就是根据“by”指定的规则对数组进行分组,所谓的分组就是将一个“数据集”划分成若干个小区域,然后对若干个小区域进行数据处理。 group by按照查询结果集中的某一列(或多列),进行分组,值相等的为一组。 细化集函数(count,sum,avg,max,min)的作用对象: 未对查询结果分组,集函数将作用于整个查询结果。 对查询结果分组后,集函数将分别作用于每...
group by和 order by的用法区别
04-09
Group by 和 order by 是 SQL 语句中非常常用的两个关键字,它们的用法和作用是不同的。Group by 用于指定按照哪个字段分组,并对每个分组进行聚合操作;而 order by 则是用于指定排序方式,可以按照一个或多个字段...
写文章

热门文章

  • group by和order by的用法和区别 59617
  • 超详细的SpringCloud底层原理 29386
  • Lua包管理工具Luarocks 9311
  • MySQL配置文件my.ini或my.cnf的位置 8654
  • Java爬取英雄联盟官网,全英雄皮肤背景图片 2370

分类专栏

  • java开发 1篇
  • SpringCloud 1篇
  • springboot
  • Nginx
  • Tomcat
  • JAVA基础-----动态代理 3篇
  • JAVA基础 2篇
  • java基础-----集合 19篇
  • Lua 2篇
  • Linux 2篇
  • MySQL 1篇

最新评论

  • group by和order by的用法和区别

    程序中的MKS: 自己多试试就有答案了

  • group by和order by的用法和区别

    ༺ Dorothy ༻: 请问最后一个可以不用 where ,在 having 语句里 and avg(grade)>60 嘛

  • 超详细的SpringCloud底层原理

    _路人甲: 重新温习了下spring cloud 很详细

  • 超详细的SpringCloud底层原理

    后端开发技术: niu

  • java动态代理的实现

    是阿超: 感谢分享~

最新文章

  • Java爬取英雄联盟官网,全英雄皮肤背景图片
  • 超详细的SpringCloud底层原理
  • (转)利用IDEA搭建SpringBoot项目,整合mybatis,实现简单的登录功能。
2020年1篇
2019年2篇
2018年32篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家沈阳公园玻璃钢雕塑销售厂家塘沽玻璃钢动物雕塑成都玻璃钢雕塑摆件定制湖州玻璃钢广场雕塑定制广东玻璃钢锻铜雕塑厂商场室内外美陈方案安徽热卖卡通玻璃钢雕塑安泽玻璃钢花盆花器玻璃钢雕塑工厂多在哪里徐州玻璃钢广告雕塑校园玻璃钢雕塑设计如何拍摄商场大厅美陈河西商场装饰美陈盐城玻璃钢花盆花器临沂公仔玻璃钢雕塑承德玻璃钢人物雕塑雕塑白菜玻璃钢图片黑龙江玻璃钢雕塑订制价格江西公园玻璃钢雕塑市场湛江玻璃钢卡通公仔雕塑广东商场创意商业美陈作品商场美陈方案落地制作珠海玻璃钢植物卡通雕塑河北玻璃钢雕塑订做淳安玻璃钢花盆花器周口玻璃钢吉祥物校园雕塑商场美陈新年上海正宗玻璃钢雕塑推荐珠海玻璃钢花盆厂家直销玻璃钢雕塑猪香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化