统计查询与查
1: 标量函数
MIN, MAX,SUM, COUNT,AVG
2: GROUP BY 分组
HAVING 作用: 进行分组之后的数
规则:
在表中使用GROUP BY 进行分组后,SELECT 输出的列有严格要求:
1: 输出列中是“分组列”
2: 输出列中使用
其他输出列为非法。
3: 查询结果集
*/
--统计雇表中按照务分组,统计休假
USE AdventureWorks
GO
SELECT Title,'max VH'=MAX(VacationHours),'Min VH'=MIN(VacationHours)
FROM HumanResources.Employee
GROUP BY Title
--统计雇表中按照职分组,统计平均休假
SELECT Title,'AVG VH'=AVG(VacationHours)
FROM HumanResources.Employee
WHERE VacationHours>30
GROUP BY Title
--统计雇表中按照职务组,统计平均休假时
--且平均休假时间大于55的数据.
SELECT Title,'AVG VH'=AVG(VacationHours)
FROM HumanResources.Employee
WHERE VacationHours>30
GROUP BY Title
HAVING AVG(VacationHours)>55
--学习查询结果集
SELECT * INTO NEW_EMPLOEY_NO5
FROM HumanResources.Employee
SELECT * INTO NEW_EMPLEOY_WC60_NO5
FROM HumanResources.Employee
WHERE Title='Production Technician - WC60'
--查询新表
SELECT * FROM NEW_EMPLOEY_NO5
SELECT * FROM NEW_EMPLEOY_WC60_NO5
EXCEL分组统计
用Excel 进
在数据处理中我们常常要对数据进行分和相应的汇总计算。例如,我们可能望得生统计学的兴趣程度的频数分布表,并计算不同组别平均成绩以了解兴趣对成绩影响度。在进行统计分组时,有时候是单变量值分组,有时候则需
Excel 的
Excel 的数据透视表(pivot tables)为我们制作多维统计表并进行描述统计分析供了能强的工具。数据透视表可以根据列表形式的数据或者数据库产生一维、二维或三维的汇总表,并进行多种总计算。许多人都认为数据透视表是Excel 独具特色功能,这一能比许多专门的
要根据列表格式的数据创建一个数据透视表,单击数据表的任何一个元格,然后击菜中的“数据” “数据透视表和数据透图”,按照向导的示完成创建。在第步中使用认的选项(根据Excel 数据列表创建数据透视表),单击下一步,Excel 会自动到需要的数据(也可以修改据区),单击下一步,选择在新工作表中建数据透视(默选项),单击完成。接下来Excel 会先新建一个工作表,并显示类似3-4的面,变量名现在一个单独的列表中,同
将相应的变量名拖到行、和页字段区域,把要分析的数据拖到数据区域,可以创建出维、维三维统计表。注意用来定义统计表结构的变量应该是离散定性变量(分类变量),否则得的表可能毫无意义。需要分析的数据通常是定量变量(也可根据分析目的
图3-4 数据透
[例3.4] 使用数透计表分析分析学
在需要统计各个别的人数,可以把任何一个不包含缺的量拖放到数据区。在图3-4的界面中把月支出变量拖行段处,把编号拖放到数据区,得到的结果
图3-5 学生月支
Excel 默认的汇总算是求和。双击“求和项:编号”,或者在汇总栏中的任元单击标右键,选择字段设置按钮,会弹出字段设置对话框(3-6)。在对话框中把汇方式计数(也可以更改字段显示的名称),就可以得到要的汇总结果
图3-6 数据透视表的
图3-7 学生
还可以修改数据透表中数据的示方式。例如,在字段设置话单击“选项”,点击“数据显示方式”下面的下拉菜单(图3-8),选择“占总和的百分比”,可以得到图3-9
图3-8 数据
图3-9 学生支出
如果要同时显示一个变的不同汇总指,可以把这个变量多次拖入数据透视的据,每次要求不同的汇总指标。例如,要同时显示各的人数和百分比,可以被“编号量”再次拖入数据区,选择“计数”汇总指标,
图3-10 数透视表:同
对数据透视表可以进行灵活的修改,例如可以改数据的格式(选中要修改的数区域击右键,选择“设置单元格格式”);选择是否显示合计(点击右键,择“表选项”,中或不选“列总计”和“行总计”);更改表格样式(从数据透视表工具栏中选择置报告格式按钮)。对3-10输出结进行修改,可以很容易地得到图3-11的结果。然,如果要对数据表的格式进行较大的修改,最好先把数据透视表的结果通过择粘贴方式把数粘贴到新的位置,然后就可
图3-11 调整格式后
[例3.5] 下面我们再来做个复杂一些的二维表:计算
要保存前一个数透视表的果可以用选择性粘贴的式把值结果保存在新的位置。然后,把前一个数据透视的段都拖回到变量表中,使数据透视表恢复
把性别变量拖行字段中,兴趣变量拖到列变量,把计成绩拖到数据区,并把统计成绩的汇总方式改平
图3-12 分性别和学习
在数据透视表,行和列可以根据需要进行复合分。例如,把性别、年龄拖至行字段中,把平均身为汇总变量,可以得到图3-13的
图3-13 分性别和年
在数据透视表,双击何一个汇总数据的单元格(包括合计项),Excel 都会把与这个元有关的所有观测复制到一个新的
使用数据透视表需要注意,你更改了原始数据以后,据表中结果不会自动更新,要更新数据透视表中的数据需要动新:在数据透视表中单击鼠标右键,选择“
老鼠能够区分人类语言
西班牙究人员报称,老鼠能利用人类语言节奏区分荷兰语和日语。这是科学家第一次研究除人类和猴子外另一种动物也具有这
巴塞罗那科技园的神经系统专家研究过程中对64只成年雄老鼠行了实验。研究人员用食物做诱饵,训练老鼠对荷兰语或做出应。结发现,对日语有反应而受到食物“奖励”的老鼠,对荷兰语无动于衷;而被训练记住荷语的老鼠,则对语没有反应。研究人员表示:“研究结示,老鼠能区分一个讲话者说出的简单句子,但不能区分多个讲话说出简单句,同时也不能区分不
研究人员表,新生儿具同样的问题,而棉冠狨猴轻分辨出不同语言,甚至是不同讲话者说出的多种语言。究明,人类用于运用语言的能力与其他动物有
作业---统计分组
作业:
李阿姨退休后开了一间“风行牛奶店”,为了每天进的风行鲜奶是多才适当,阿姨鲜奶40天的销售情况作了调查。这40天卖出的鲜奶的千
将上面的数据当分组,作出当的统计图,说明李阿姨
附例题2个
某行业管理局属40个企业2002年的产品销售收
152 105 117 97
124 129 116 100 103 119 88
114 115
87
92
95
127 104
103 118 142 135 125
108 105 110 107 137 120 136 117 108
123 115 119 138 112 146 113 126
根据上面的数据进适当的分组,
解:(1)排序:
87 105 116 126 88 107 117 127 92 108 117 129 95 108 118 135 97 110 119 136 100 112 119 137 103 113 120 138 103 114 123 142 104 115 124 146 105 115 125 152
(2)确定分组
据
组
数
的
经
验
公
式
:
K=1+3.322?lgN,可知组数:
K=1+3.322?lg40=1+3.322?1.60=6.32≈6
(3)确定组
全部数据中,大的为152,最小的为87,知数全距152-87=65; 为便于计算和分析,确定
为使数据的分布足穷尽和斥的要求,注意到,按上的分方式,最小值87可能落在最小组之下,最大值152可落在最大组之上,将最小组和最大组设计
(4)编制组距
将各组企业除以企业数40,得到各组
整理得到频数分布表如: 40个企业
直方图:
例题2.某货公司连40天的商品销售
41 46 35 42 解:
解:(1)排序:
25 36 28 36
29 45 46 37
47 37 34 37
38 37 30 49
34 36 37 39
30 45 44 42
38 43 26 32
43 33 38 36
40 44 44 35
根据上面的据进行适的分组,编制频数
25 35 37 43 26 35 38 44 28 36 38 44 29 36 38 44 30 36 39 45 30 36 40 45 32 37 41 46 33 37 42 46 34 37 42 47 34 37 43 49
(2)确定分组
据
组
数
的
经
验
公
式
:
K=1+3.322?lgN,可知组数:
K=1+3.322?lg40=1+3.322?1.60=6.32≈6
(3)确定组
全部数据中,大的为49,最小的为25,知数据
为便于计算和析,确定将数
为使数据分布足穷尽和互斥的求,注意到,按上面的分组方
最大值49已落在最组之中,故将各
按照“上限在组内”的原则,用划记法统各组内数据的个数——天数,并填入
将各组天数以总数40,得到各组频率,填入表中第三列; 得到频数分布如
按销售额组(万
4 6 15 9 6 40
频率(%) 10.0 15.0 37.5 22.5 15.0 100.0
直方图:
分组统计查询
练习: select job,avg(sal),min(sal)from emp having (avg(sal)>min(sal))group by job;用having select * from (select job,avg(sal)avg_sal,min(sal) min_sal from emp group by job)where avg_sal>min_sal; 没有用having
查询工作岗位的
和平均工资:(avg(sal)) >
分组(单字段)
范例9:统计出每个
SELECT deptno,COUNT(*) FROM emp GROUP BY deptno ; 范例-10:统计出每种职位的最低
SELECT job , MIN(sal) , MAX(sal) FROM emp GROUP BY job ;
分组(单字段)
SQL 语句执
1. 执行FROM 子句,确定
2. 执行WHERE 子句,使用限定
3. 执行GROUP BY子句,根
4. 执SELECT 子句,确定要检索出的分组字段
执行ORDER BY子句
HAVING ?句
SQL 语句执
1. 执行FROM 子句,确定
2. 执行WHERE 子句,使?用限定
3. 执行GROUP BY子句,根
4. 执行HAVING 子句,对分组后
5. 执行SELECT 子,确定要检索出的分组
6. 执行ORDER BY子句