sql中order by和group by的区别

RT,请明确指出... RT,请明确指出 展开
 我来答
小鱼的生活笔记
高能答主

推荐于2019-08-31 · 专注于生活领域的最新咨询和生活小细节
小鱼的生活笔记
采纳数:608 获赞数:411548

向TA提问 私信TA
展开全部

1、意思不一样。

order by 是指从英文里理解就是行的排序方式,默认的为升序。后面必须列出排序的字段名,可以是多个字段名。

group by 是指从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 

2、适用范围不同:order by 用于排序,一般与asc升序或desc降序一起使用。例如select * from 表A order by 列a。

group by 用于分类汇总,一般与聚合函数(比如avg平均、sum合计、max最大、min最小、count计算行)一起使用。例如select 月份,sum(工资)as 总工资 from 工资表 group by 月份。

3、定义不同:order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列,group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。

4、使用的函数不一样。

order by子句中的列必须包含在聚合函数或 GROUP BY 子句中。

group by 子句中可使用的函数AVG()  、MIN() 、 MAX()  、SUM() 、COUNT() 。

5、order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。

group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。

扩展资料

Microsoft Jet 数据库引擎 SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。常见的有:整形,单精度,双精度,可变长度字符,固定长度字符,长型,日期等等。

可以用ALTER TABLE 语句修正基数和增量。刚插进表中的行会有自动为基于新种值和增量值的列生成的值。如果新种和增长的值和以前的种值及增量匹配,就会造成复制。如果这个列是主键,复制值生成时可能导致错误。

定义成TEXT也称作MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式。

Unicode字符一律需要两个字节存储每一字符。对于现有的主要包含字符数据的 Microsoft Jet数据库,这可能意味着数据库文件被转换成 Microsoft Jet 4.0格式时字长会增加将近一倍。

然而,从前由单字节字符群(SBCS)指示的众多字符群的Unicode 表示可以很容易地被压缩成一个单字节。有关的详细信息,参见CREATE TABLE。如果用COMPRESSION属性定义CHAR列,数据存储时会自动被压缩,提取时解压缩。

参考资料来源:百度百科-SQL数据类型

莱伯泰科
2024-10-28 广告
LabTech Group,即北京莱伯泰科仪器股份有限公司,是业界领先的实验室科学仪器与解决方案提供商。我们专注于分析测试仪器的研发、生产和销售,致力于为全球科研工作者、高校及企业实验室提供高性能、高稳定性的产品与服务。通过持续的技术创新与... 点击进入详情页
本回答由莱伯泰科提供
肥仙女a
高粉答主

2019-03-29 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115576

向TA提问 私信TA
展开全部

order by 和 group by 的区别:

1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。

2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。

3,在使用group by的语句中,只能select用于分类的列(表达式),或聚合函数。
where条件用于group by之前,having用于group by 之后对结果进行筛选。

扩展资料:

一、order by用法: 排序查询、asc升序、desc降序

示例:

1.select * from 学生表 

2.order by 年龄    

3.查询学生表信息、按年龄的升序(默认、可缺省、从低到高)排列显示也可以多条件排序、 比如 order by 年龄,成绩 desc    

4.按年龄升序排列后、再按成绩降序排列。

二、group by用法:  分组查询、having 只能用于group by子句、作用于组内,having条件子句可以直接跟函数表达式。使用group by 子句的查询语句需要使用聚合函数。

示例:

1.select 学号,SUM(成绩) from 选课表 group by 学号  按学号分组、查询每个学号的总成绩

2.select 学号,AVG(成绩) from 选课表  

3.group by 学号

4.having AVG(成绩)>(select AVG(成绩) from 选课表 where 课程号='001')

5.order by AVG(成绩) desc

6.查询平均成绩大于001课程平均成绩的学号、并按平均成绩的降序排列。

参考资料:

百度百科- 结构化查询语言

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿炎的情感小屋
高粉答主

推荐于2019-10-08 · 感性的双鱼座,用文字和你探讨情感问题。
阿炎的情感小屋
采纳数:434 获赞数:329303

向TA提问 私信TA
展开全部

1、适用范围不同:

order by
用于排序,一般与asc升序或desc降序一起使用。例如select * from 表A order by 列a。group by
用于分类汇总,一般与聚合函数一起使用。

2、定义不同:

order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列,group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。

3、主要用途不同:

order
by 是按表中某字段排列表中数据。group by 是按某些字段分类。

扩展资料

order by的用法:

首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。

其次,order by写法:

1、select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2 asc/desc,.......

2、select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,.......(此时字段序号要从1开始)

然后,order by的方式:

1、asc 升序,可以省略,是数据库默认的排序方式。

2、desc 降序,跟升序相反。

最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30ebb0a
推荐于2019-10-08 · TA获得超过8406个赞
知道答主
回答量:15
采纳率:0%
帮助的人:1847
展开全部

1、解释不同:

(1)order by是SQL语句中的关键字,用于对查询结果的排序。ORDER BY 语句用于对结果集进行排序,默认的为升序。

(2)group by语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。

2、字段不同:

(1)order by是按字段排序,后面必须列出排序的字段名,可以是多个字段名。

(2)group by是按字段分类 ,必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 

3、sql命令格式优先顺序不同:

(1)group By关键字先对指定的分组条件将筛选得到的视图进行分组,将分组视图后不满足条件的记录筛选掉。

(2)order By语句最后对视图进行排序,最终的结果就产生了。

4、引用列名不同:

(1)order by语句中引用列名可以使用IDE。

(2)group by需要引用列名则只能使用ID,而不能使用IDE。

5、排序方法不同:

(1)order by 语句默认按照升序对记录进行排序。

(2)group by语句指定的列对满足Where条件的所有记录分组,并对组内的一些数值型栏位计算出每组的一个统计指标,如求和、求个数、求平均值、求最大值、求最小值等等。

6、查找范围不同:

(1)order by子句能用于查找组记录特征和某条记录的详细信息;

(2)group by子句只能用于查找组记录特征,但不能查找某条记录的详细信息。Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。

7、使用的函数不一样:

(1)order by放在from table_name后面。可以用于根据指定的列asdf对结果集进行排序。按照降序对记录进行排序,可以使用 DESC 关键字。

(2)group by子句中可使用的函数AVG()  、MIN() 、 MAX()  、SUM() 、COUNT() 。group by all 语句是不能和CUBE 和 ROLLUP 关键字一起使用的。使用 GROUPING 函数确定结果集内的空值是否是 GROUP BY 汇总值。

扩展资料:

一、GROUP BY 和 ORDER BY一起使用时,ORDER BY要在GROUP BY的后面。

group by a,b,c;则a,b,c三个字段是按照先按a字段对数据行进行排序,再按b字段对那些字段a为同一个值的数据行进行排序,再再按c字段对那些字段a为同一个值且字段b为同一个值的数据行进行排序。

二、Group By, Having, Where, Order by几个语句的执行顺序。

一个SQL语句往往会产生多个临时视图,以上列举的关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

1、首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数);

2、然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组;

3、接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉;

4、然后按照Order By语句对视图进行排序,这样最终的结果就产生了。

在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名。

参考资料来源:百度百科-GROUP BY

参考资料来源:百度百科-order by

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拾柒fq
2019-02-10 · TA获得超过665个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

order by 是按表中某字段排列表中数据。


group by 是按某些字段分类。

以下是详细区别:

1、排序方式不一样:

order by是指按字段排序;

group by是指按字段分类 。

2、命令格式优先顺序不一样:

order by要滞后;

group by要优先。

3、含义不一样:

Group By是分组的意思,Order By是按顺序的意思。

4、使用的函数不一样:

Group By是汇总查询,使用时至少需要一个分组标志字段,一般与聚合函数(比如sum合计、count计算行、avg平均)一起使用。

Order By是排序查询,用于对指定列结果集的排序,排序内容可以是数字或者文字,其中DESC是降序,ASC是升序。

5、定义不一样:

order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列;

group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。

扩展资料:

SQL使用技巧代码大全:

1、编辑

1=1,1=2的使用在SQL语句组合时用的较多,“where 1=1”是表示选择全部 “where 1=2”全部不选。

如:if @strWhere !='begin

set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere

end else begin set @strSQL = 'select count(*) as Total from [' + @tblName + ']' end

set @strSQL='select count(*) as Total from tablename where 1+1'

if(@strWhere!='')

{set @strSQL=@strSQL+’and’+strWhere}

2、收缩数据库

(1)重建索引 :

DBCC REINDEX

DBCC INDEXDEFRAG

(2)收缩数据和日志:

DBCC SHRINKDB

DBCC SHRINKFILE

(3)压缩数据库:

dbcc shrinkdatabase(dbname)

(4)转移数据库给新用户以已存在用户权限:

exec sp_change_users_login 'update_one','newname','oldname' go

(5)检查备份集:

RESTORE VERIFYONLY from disk='E:\dvbbs.bak'

(6)修复数据库:

Alter DATABASE [dvbbs] SET SINGLE_USER GO

DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO

Alter DATABASE [dvbbs] SET MULTI_USER GO

参考资料来源:百度百科-SQL语句大全

百度百科-结构化查询语言

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(21)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式