文档详情

数据分组与排序课件.pptx

发布:2025-04-12约1.12千字共9页下载文档
文本预览下载声明

数据分组与排序

分组筛选数据使用GROUPBY子句可以将查询结果按照某一列或多列数据值进行分类,换句话说,就是对查询结果的信息进行归纳,以汇总相关数据。语法格式:[GROUPBY列名清单[HAVING条件表达式]]GROUPBY子句把查询结果集中的各行按列名清单进行分组。在这些列上,对应值都相同的记录分在同一组。若无HAVING子句,则各组分别输出;若有HAVING子句,只有符合HAVING条件的组才输出

分组筛选数据【例1】统计各系学生数SELECTsdept,COUNT(*)各系人数FROMstudentGROUPBYsdept;

分组筛选数据【例2】统计student表中男、女学生人数SELECTssex,COUNT(*)人数FROMstudentGROUPBYssex;

分组筛选数据【例3】统计各系男、女生人数SELECTsdept,ssex,COUNT(*)FROMstudentGROUPBYsdept,ssex;

分组筛选数据【例4】统计各系女生人数SELECTsdept,COUNT(*)各系女生人数FROMstudentWHEREssex=女GROUPBYsdept;SELECTsdept,COUNT(*)FROMstudentGROUPBYsdept,ssexHAVINGssex=女;

分组筛选数据【例5】查询选修了3门以上课程的学生学号SELECTsnoFROMscGROUPBYsnoHAVINGCOUNT(*)3;

对查询结果进行排序使用ORDERBY子句可以对查询结果按照一个或多个字段进行升序(ASC)或降序(DESC)排序,默认值为升序。语法格式:[ORDERBY列名1[ASC|DESC][,列名2[ASC|DESC]][,…]]SELECT语句的查询结果集中各记录将按顺序输出。首先按第1个列名值排序;前一个列名值相同者,再按下一个列名值排序,依此类推。若某列名后有DESC,则以该列名值排序时为降序排列;否则,为升序排列

对查询结果进行排序【例6】查询选修了C03号课程的学生的学号及其成绩,查询结果按分数的降序排SELECTsno,degreeFROMscWHEREcno=C03ORDERBYdegreeDESC;【例7】查询全体学生情况,查询结果按所在系升序排列,同一系中的学生按出生日期降序排列。SELECT*FROMstudentORDERBYsdeptASC,sbirthdayDESC;

显示全部
相似文档