知识点一:什么是组函数?
组函数:是对数据行的集合进行操作并按组给出一个结果
知识点二:常用的组函数有哪些?
AVG ---求平均值
COUNT ---统计查询所得行数量(查询数据总数)
MAX ---求最大值
MIN ---求最小值
STDDEV ---统计标准误差
SUM ---求和
VARIANCE --统计方差
知识点三:案例前提准备:创建表STUDENT(学生表),添加测试数据
-- ----------------------------
-- Table structure for STUDENT
-- ----------------------------
DROP TABLE "SCOTT"."STUDENT";
CREATE TABLE "SCOTT"."STUDENT" (
"SNO" VARCHAR2(10 BYTE) NOT NULL ,
"SNAME" VARCHAR2(20 BYTE) NULL ,
"SAGE" NUMBER(2) NULL ,
"SSEX" VARCHAR2(5 BYTE) NULL
)
LOGGING
NOCOMPRESS
NOCACHE
;
-- ----------------------------
-- Records of STUDENT
-- ----------------------------
INSERT INTO "SCOTT"."STUDENT" VALUES ('s001', '张三', '23', '男');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s002', '李四', '23', '男');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s003', '吴鹏', '25', '男');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s004', '琴沁', '20', '女');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s005', '王丽', '20', '女');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s006', '李波', '21', '男');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s007', '刘玉', '21', '男');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s008', '萧蓉', '21', '女');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s009', '陈萧晓', '23', '女');
INSERT INTO "SCOTT"."STUDENT" VALUES ('s010', '陈美', '22', '女');
-- ----------------------------
-- Indexes structure for table STUDENT
-- ----------------------------
-- ----------------------------
-- Primary Key structure for table STUDENT
-- ----------------------------
ALTER TABLE "SCOTT"."STUDENT" ADD PRIMARY KEY ("SNO");
知识点四:测试
1.AVG () —求平均值
1. 语法:
AVG([distinct|all]x)
【功能】统计数据表选中行x列的平均值。
【参数】all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段
【返回】数字值
2.案例:查询学生表(STUDENT)中学生的平均年龄
SELECT AVG(DISTINCT SAGE),AVG(ALL SAGE),AVG(SAGE) FROM STUDENT;
结果为:22.20 21.90 21.90
总结:
1.DISTINCT是先对列去重以后,在求平均值;
2.如果不写DISTINCT或者ALL,默认是ALL
1.COUNT() —求查询所得记录条数
这里写代码片
未完。。。。。。。。。。。。。待续!