第7章表中数据排序_第1页
第7章表中数据排序_第2页
第7章表中数据排序_第3页
第7章表中数据排序_第4页
第7章表中数据排序_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章表中的数据的排序和分组在使用前面所述的SQL语句执行查询操作的情况下,读者有可能发现查询数据结果的排序是无序的。 为了更好地观察数据表中的查询结果,开发人员或用户经常对查询中的数据进行排序。 这需要ORDER BY子句。 在数据库的实际应用中,可能需要对查询中的数据进行统一分组。 这需要了解如何聚合函数SQL语句和使用GROUP BY子句。 本章主要介绍了这些个的两个部分的内容。 开发人员或用户可能希望进一步修订分组结果。 SQL语句提供了一个名为ROLLUP的牛鼻子字,用于统一数据。 在本章的末尾,还讨论了如何限制主数据库中结果定径套的行数。 第7章对表中的数据进行排序和分组对表中的列

2、进行排序对指定表中的列的位置顺序进行排序对SELECT语句中的非选择列进行排序对指定表中的多列进行排序一般的聚合函数单列组和对多列组以HAVING子句分组的查询结果进行排序ROLLUP牛鼻子统一数据的不同您必须使用orderby子句对SELECT语句中询问法的结果进行排序。 可以使用ORDER BY子句对数据表中指定的列进行排序,也可以对数据表中指定的多列进行排序。 本节介绍如何使用ORDER BY子句实现对数数据记录查询密码的排序。 指定对7.1.1表中的列进行排序。 ORDER BY子句允许您按升序或降序对由ORDER BY子句指定的列进行操作,具体取决于ORDER BY子句后面的牛鼻子字

3、。 如果ORDER BY子句后面的牛鼻子字是ASC,则按升序操作查询结果。 如果ORDER BY子句后面的关牛鼻子字是DESC,则对查询结果执行降序操作。 语法规则如下所示: ORDER BY列名1 ASC|DESC列名1表示必须对列进行排序。 牛鼻子字ASC和DESC是可选的。 如果ORDER BY子句后没有ASC或DESC,则在差动奥尔特下执行升序动作。7.1.2指定列在表中位置的顺序号进行排序。 使用ORDER BY子句进行排序操作时,除了使用列名对指定的列进行排序外,还可以使用选择列表中列位置的序列号进行排序。 下面以人民教师信息表中的人民教师工资薪金排序为例,介绍使用列的位置编号对人

4、民教师工资薪金进行排序的方法。 对7.1.3SELECT语句中未选定的列进行排序。 在上面的示例中,使用ORDER BY子句排序的列显示在select语句的查询列表中。 但是,ORDER BY子句还可以对SELECT语句中未显示的选择列进行排序。 指定对7.1.4表中的多列进行排序。 ORDER BY子句不仅可以为排序操作指定单列,还可以为排序操作指定数据表中的多列。 如果指定对数据表中的多列进行排序,则必须用逗号分隔要排序的列和列。 语法规则指示在ORDER BY列名1ASC|DESC和列名2 ASC|DESC中,列名1和列名2必须对指定的数据列进行排序。 用逗号分隔列名1和列名2之间。 牛

5、鼻子字ASC和DESC是可选的。 如果没有在ORDER BY子句后写入ASC或DESC,则在默认奥尔特下执行升序操作。 然后按ORDER BY子句中指定的第二列的升序或降序排序。 7.2 .聚合函数、聚合函数也称为分组函数或聚合校正函数,其主要用于对获得的数据定径套进行聚合校正运算,例如校正、平均等,其中,通常的聚合函数有COUNT、MAX、MIN、SUM、AVG等五个。 对于COUNT、SUM和AVG函数,可以使用DISTINCT关牛鼻子字删除指定列中的重复项。 使用DISTINCT关牛鼻子字时,仅修改不同行的值。 MAX和MIN函数的列或表达式可以是数字类型、字符类型或日期类型的值。如果M

6、AX和MIN函数的列或表达式是字符类型,则按从a到z的顺序排序,同时比较字符串中第二个字符的大小。 中国字按对外汉语大头针入的全拼写排序。 7.2一般聚合函数。 SUM和AVG函数的表达式只是数值类型的值。 COUNT(* )以外的一些函数在校正运算时会忽略表达式的NULL值(NULL行)。 COUNT函数用于校正数据表中列的属性值的校正,SUM函数用于校正数据表中列的属性值的校正。 7.2一般聚合函数。 仅在SELECT、GROUP BY和HAVING子句中显示聚合函数,而在WHERE子句中不显示聚合函数。 使用7.3GROUP子句对表中的数据进行分组。 group子句可以根据查询特定数据列

7、中的多个数据的结果进行化学基分组。 这可以对单列数据和多列数据进行分组。 也可以在GROUP子句之后使用HAVING子句进一步过滤分组结果。 本节介绍如何使用GROUP子句对表中的数据进行分组。 7.3.1单列分组。 使用GROUP子句对数据表中的列进行分组会为指定分组列中的不同值校正统一结果。 语法格式如下: GROUP BY列名1列名1表示必须对列进行分组。7.3.2如果将多列分组,并使用GROUP子句将数据表中的多列分组,则会为指定分组中的多列的不同值校正一个统一校正结果。 语法格式是GROUP BY列名1、列名2中的列名1和列名2,表示必须对指定的列进行分组。 用逗号分隔列名1和列名2

8、之间。 必须使用having子语句,以便使用7.3.3HAVING子语句限制分组查询结果,并限制分组结果的查询条件。 HAVING子句用于限制分组查询的结果,因此必须将该子句放在GROUP BY子句之后。 语法格式是GROUP BY列名1 HAVING条件等式,列名1表示必须对列进行分组。 HAVING子句之后的条件等式用于过滤分组结果。 在HAVING子句中,通常使用聚合函数过滤分组结果。 7.3.4对分组结果进行排序,通常在对数据表中的数据进行分组之后,对分组结果进行排序。 如果要使用GROUP BY子句对分组结果进行排序,则必须使用ORDER BY子句。 如果在7.3.5 GROUP B

9、Y子句中处理空值,然后使用GROUP BY子句将指定的列分组,则指定的列可能包含空值。 此时,GROUP BY子句将该列中的所有空值分组。 使用7.4rollup关牛鼻子字统一修订。 上一节介绍了使用GROUP BY子句对数据表中的一列或多列进行分组并查询数据整合校正的结果。 在实际应用中,不仅要得到分组的统一修正结果,还要进一步修正分组的统一修正结果。 例如,通过将人民教师信息表(T_teacher )中的高等院校和人民教师的作用分组,得到分组后的人民教师的最高工资薪金,在得到该最高工资薪金后,分阶段修正各学部的人民教师的最高工资薪金。 此时只能使用GROUP BY子句,所以此时必须使用RO

10、LLUP关牛鼻子字。 使用7.4ROLLUP码字至牛鼻子纠正数据,可使rollup码字的角色对分组数据执行分阶段的操作(对应于小纠正),并对所有询问法报告查询密码的数据执行最终操作(对应于总纠正)。 小修订和修订的运算结果会自动添加到分组的数据列和查询结果的最后一行中。 ROLLUP牛鼻子字必须位于GROUP BY牛鼻子字之后。ROLLUP牛鼻子字在每个数据库中的使用方式稍有不同,1在MySQL5.0和Microsoft SQL Server数据库中使用ROLLUP关牛鼻子字集成修订。 在Oracle数据库中使用ROLLUP关牛鼻子字集成。 使用7.4rollup关牛鼻子字统一修订。 MySQ

11、L5.0和Microsoft SQL Server数据库需要卷动向上。 语法是GROUP BY列名1 WITH ROLLUP,列名1表示对列进行分组,WITH ROLLUP关牛鼻子字表示对分组结果进行修改。 当然,也可以将多个列分组,并对分组结果进行修正。 语法使用GROUP BY列名1、列名2 WITH ROLLUP、7.4ROLLUP牛鼻子字修订,在Oracle数据库中,rollup牛鼻子字必须在GROUP BY牛鼻子字之后写入需要分组的字段。 语法格式是GROUP BY ROLLUP (列名1、列名2 ),列名1和列名2表示指定的列分组,ROLLUP牛鼻子字表示收集分组结果。 GROUP

12、 BY子句后括在括号中的列名可以是一列,也可以是多列。 对于多列,必须用列名和逗号分隔。 7.5限制结果定径套的行数。 在某些情况下,开发者或用户希望仅显示其中几行,特别是需要分页的操作,而不是显示查询结果数据列中的所有数据。 例如,如果某个数据表在最后一次查询100个查询密码,而开发者或用户只关心其中前10个查询密码的值,则必须限制查询结果中数据报告查询密码的行数。 限制结果定径套行数的方法因数据库而异。 以MySQL数据库、Oracle数据库、Microsoft SQL Server数据库为例,说明在这些个3个数据库中实现限制结果定径套行数的操作的方法。 可以使用7.5.1mysql数据库来限制结果定径套的行数,使用限制MySQL数据库中结果定径套的行数的LIMIT牛鼻子字来限制查询的数据结果数。 LIMIT牛鼻子字可让开发人员或使用者获得所需部分的结果。 使用LIMIT限制结果定径套行数时,可以使用以下语法格式: 其中LIMIT n表示牛鼻子字,数字n表示限制结果定径套的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论