第8章 数据分组与汇总.doc

第8章 数据分组与汇总.doc

ID:28814600

大小:38.00 KB

页数:3页

时间:2018-12-14

第8章 数据分组与汇总.doc_第1页
第8章 数据分组与汇总.doc_第2页
第8章 数据分组与汇总.doc_第3页
资源描述:

《第8章 数据分组与汇总.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第8章数据分组与汇总1.你在SQLServer2000数据库中创建了定单表,其创建语句如下:CREATETABLE定单表(定单号intIDENTITY(1,1)PRIMARYKEY,雇员代号intNOTNULL,地区代号intNOTNULL,订购日期datetimeNOTNULL,订购金额moneyNOTNULL)销售经理想要获得总的销售金额和按地区分组的总销售金额。下面哪条语句能完成该任务?A.SELECT雇员代号,地区代号,订购金额FROM定单表ORDERBY地区代号COMPUTESUM(订购金额)B.SEL

2、ECT雇员代号,地区代号,订购金额FROM定单表ORDERBY地区代号COMPUTESUM(订购金额)BY地区代号COMPUTESUM(订购金额)C.SELECT雇员代号,地区代号,SUM(订购金额)FROM定单表GROUPBY雇员代号,地区代号D.SELECT雇员代号,地区代号,SUM(订购金额)FROM定单表GROUPBY雇员代号,地区代号答:B1.下面哪些关键字能影响SELECT语句返回的结果的行数?(多选)A.TOPnB.WHERC.ORDERBYD.DISTINCT答:A、B和D1.一个营销部的雇员想让

3、你提供关于产品销售的汇总数据。她需要对早餐的谷类食品按类别(如冷、热或低脂类)、厂商和销售产品的商店的规模(小、中或大)分类。假设一个表中保存了所有这些信息,你的SELECT语句将使用什么样的子句或运算符?为什么?答:最好使用GROUPBY子句和CUBE运算符。GROUPBY和HAVING子句只能提供一种级别的汇总(或分组)。ROLLUP运算符可以提供一种类型的汇总。CUBE运算符可以提供多种类型的汇总。也可以使用COMPUTE或COMPUTEBY子句生成基本报表。2.你的经理要求你把包含从问题3得到的所有数据的

4、文件提供给另外一个开发小组使用,此开发小组负责报表生成和图形化工具。使用COMPUTE和COMPUTEBY子句适合这个任务吗?为什么或为什么不适合?答:不合适。因为COMPUTE和COMPUTEBY子句生成的是非关系型格式的附加的汇总数据。尽管这些数据便于查看,所返回的结果集却不适合出现在其它应用程序中。应该使用GROUPBY子句和CUBE或ROLLUP运算符提供标准关系格式的数据,这样其他客户比较容易使用。3.某班级的学生成绩表包含列“学号”、列“课程代号”、列“成绩”、列“学期号”,请统计学期号为“第三学期”

5、的每个学生所有科目的平均成绩。答:SELECT学号,AVG(成绩)FROM学生成绩表WHERE学期='第三学期'GROUPBY学号4.接上题,现在想评定该班级第二学年(包括第三学期和第四学期)的优秀学生奖学金,要求从该班级选出平均成绩排前5名的同学。请用SELECT语句显示这些同学的学号和平均成绩。(要考虑可能有多个同学并列第5名)答:SELECTTOP5WITHTIES学号,AVG(成绩)AS平均成绩FROM学生成绩表WHERE学期='第三学期'OR学期='第四学期'GROUPBY学号ORDERBY平均成绩DE

6、SC1.接上题,学校规定前三学年(第一学期到第六学期)总平均分在90分以上而且没有一次考试不及格(成绩>=60分)的同学可以参加学校最高级别的评奖。请用SELECT语句显示该班级中满足评奖条件的候选人的学号和前三学年的总平均分。答:SELECT学号,AVG(成绩)AS三年平均成绩FROM学生成绩表WHERE学期='第一学期'OR学期='第二学期'OR学期='第三学期'OR学期='第四学期'OR学期='第五学期'OR学期='第六学期'GROUPBY学号HAVINGAVG(成绩)>=90ANDMIN(成绩)>=60O

7、RDERBY三年平均成绩DESC2.查看在SELECT语句中使用GROUPBY子句和CUBE运算符的结果。在结果集中你将发现空值,而且空值在SELECT语句使用的表中是允许出现的。你是如何用空值区分详细数据行与汇总数据行。答:在允许空值的列中使用GROUPING函数。如果是一个汇总行,通过GROUPING函数产生的列值会出现数字1。3.需要提供前100个产品和销售倒数百分之五的产品的列表。可以使用SELECTTOPn[PERCENT]语句解答每个问题吗?还有其他方法来解答这些问题吗?答:可以。可以使用SELECT

8、TOPn[PERCENT]语句解答每个问题。第一个问题可以用SELECTTOP100…ORDERBY…DESC语句,这样会使销售量最高的列在上面。第二个问题可以用SELECTTOP5PERCENT…ORDERBY…ASC语句,这样会使销售量最低的列在上面。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。