查询—统计计算,分组排序

上传人:kms****20 文档编号:56774427 上传时间:2018-10-15 格式:PPT 页数:34 大小:1.35MB
返回 下载 相关 举报
查询—统计计算,分组排序_第1页
第1页 / 共34页
查询—统计计算,分组排序_第2页
第2页 / 共34页
查询—统计计算,分组排序_第3页
第3页 / 共34页
查询—统计计算,分组排序_第4页
第4页 / 共34页
查询—统计计算,分组排序_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《查询—统计计算,分组排序》由会员分享,可在线阅读,更多相关《查询—统计计算,分组排序(34页珍藏版)》请在金锄头文库上搜索。

1、查询语句 统计计算、分组 、排序,学习目标,掌握GROUP BY (分组统计计算)/ HAVING (筛选组)/ ORDER BY(排序) 子句 SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC ,电子商务网站购物,为什么要学习统计计算?,为什么要学习统计计算?,为什么要学习统计计算学生管理系统项目中的查询需求,统计学

2、生表中每个班的人数 汇总计算:成绩表中每门课程的平均分、最高分、最低分 汇总计算:每个学生的总分,并且排序,作为奖学金评定的依据之一 统计每门课程不及格的人数,制定补考安排计划,Group by字句,功能:将数据记录依据设置的条件分成多个组一般情况,只有使用该子句,Select子句中所使用的汇总函数(例如sum, count,min,max等)才会起作用。text、ntext 和 image 类型的列不能用于 group_by_expression。,Group by字句,Group by后面跟着的用于分组的字段名称列表将决定查询结果集分组的依据和顺序。注意!如果在某个选择列表中使用了汇总函数

3、,那么该选择列表只能包含:汇总函数,通过GroupBy字句包含的字段,常量表达式。,汇总函数(聚合函数),功能:在查询结果集中生成汇总值,汇总函数(聚合函数),注意:除count(*)外,其他汇总函数都处理单个字段中全部符合条件的值,生成一个结果值。 -例子:查询订单明细表中每张订单的订购总价 use 图书订购系统 select 订单号,sum(订购价格*订购数量) as 每张订单总价 from 订单明细 Group by 订单号 -练习:查询所有订单的订购总价,分组汇总count( ),-查询订单信息表中每位客户的订单的个数 select 客户编号,count(订单号) as 每个客户订单数

4、 from 订单信息 group by 客户编号,count函数和count(*)函数count(表达式):表达式通常是字段count(*):返回符合条件的纪录条数 二者的区别,sum函数,avg函数使用注意事项,忽略计算对象中的空值 可以使用distinct和all 关键字,all是默认值 应用于数字类型的字段(int, smallint, tinyint ,decimal, numeric, float , real, money ,smallmoney),统计函数avg(),-查询每个类别的作者的平均出版费 select 作者类别,avg(出版费)as 平均出版费 from 作者信息 g

5、roup by 作者类别,Max函数和Min函数,功能:从数字类型和字符类型的字段中选取最大(小)值。 练习:查询图书明细表中,最低的图书价格和最高的图书价格。 练习:查询每类作者中,出版费最高的作者和出版费最低的作者。,例子:查询每个部门中,工资最低的那位员工的姓名,use sample1 select 所属部门,max(工资),min(工资) from 员工数据表 group by 所属部门,注意事项,select 订单号,书号,sum(订购价格*订购数量) as 总价 from 订单明细 Group by 订单号,书号 注意!如果在某个选择列表中使用了汇总函数,那么该选择列表只能包含:汇

6、总函数,通过GroupBy字句包含的字段,常量表达式。,select 书号,sum(订购价格*订购数量) as 总价 from 订单明细 group by 书号,读程序说明程序的含义,读程序说明程序的含义,select 书号,max(订购数量) as 数量 from 订单明细 group by 书号,读程序说明程序的含义,select count(订单号)as 订单数, sum(订购数量*订购价格) as 总价, max(订购数量) as 订购数量的最大值, min(订购数量) as 订购数量的最小值 from 订单明细,select 语句功能:从数据库中检索出符合条件的记录。 语法结构: S

7、ELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC ,使用having关键字,为组指定筛选条件 只有符合条件的组才出现在查询中。 Having子句的语法与Where子句的语法类似,唯一不同的是Having子句中可以包含聚合函数,是对Group by选择出来的结果再次进行筛选。,Where,Group by, Having子

8、句的作用以及作用顺序:,Where子句用来筛选表中的行 Group by 子句进行分组。Having子句用来筛选组(group by 产生的)。,Having子句的例子,-查询编号为10101和10801的图书被订购的 总价 select 书号,sum(订购数量*订购价格) as 总价 from 订单明细 group by 书号 having 书号 in (10101,10801)-练习:查询图书被订出的总价高于2000元的图书编号(书号),Having例子,select 书号,sum(订购数量*订购价格) as 总价 from 订单明细 group by 书号 having 书号 like

9、105%,select 语句功能:从数据库中检索出符合条件的记录。 语法结构: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC ,查询过程中的排序,查询过程中的排序,Order by子句,根据查询结果中的一个或多个字段进行排序,可以是升序(Asc),降序(Desc),默认是升序 注意! 在 ORDER BY 子句中不

10、能使用 ntext、text 和 image 列,Order by列表中不允许使用子查询、聚合表达式、常量表达式,但可在选择字段列表中为聚合表达式指定一个别名,然后在Order by 中引用该别名。,Order by子句按单个字段排序,select * from 订单明细 order by 订购数量 desc,Order by子句按多个字段排序,-查询作者的出版费信息 -按照作者的类别升序排列,按照出版费的降序排列 select 作者姓名,作者类别,出版费 from 作者信息 order by 作者类别,出版费desc,综合例子,select 书号,订购价格,订购数量, sum(订购价格*订购数量) as 每本书被订购总价 from 订单明细 where 订购数量=2000 order by 订购数量desc,小结,GROUP BY (分组统计计算) 注意!如果在某个选择列表中使用了汇总函数,那么该选择列表只能包含:汇总函数,通过GroupBy字句包含的字段,常量表达式。HAVING (筛选组):注意! HAVING 与WHERE子句的区别ORDER BY(排序) 子句: 其后的字段列表将决定排序的先后次序,作业,完成项目指导书中的任务,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号