oracle 合并统计,数据库的统计汇总分组合并,

数据库的统计汇总分组合并,

对表数据进行检索时,经常需要对结果进行汇总或计算,例如,在学生成绩数据库中求某门课程的总成绩,统计个分数段的人数等。

1.统计函数

统计函数用于计算表中的数据,返回单个计算结果

SUM和AVG函数:分别用于求表达式中所有值项的总和与平均值

--求选修100012课程的学生的平均成绩。selectavg(result_number)fromschool_resultwhere result_course='100012';

MAX和MIN函数:用于求表达式中所有值得最大值和最小值

--求选修100012课程的学生的最高分和最低分。selectmax(result_number)fromschool_resultwhere result_course='100012';

COUNT函数:用于统计组中满足条件的行数或总行数

--求学生的总人数。selectcount(*)fromschool_students

;

--统计数据库技术及应用课程成绩在85分以上的人数。selectcount(*)fromschool_resultwhereRESULT_NUMBER>=85and result_course=(selectcourse_idfromSCHOOL_COURSEwherecourse_name='数据库技术及应用')

;

2.分组

GROUP BY子句用于对表或视图中的数据按字段分组,格式为:

[ GROUP BY [ ALL ] group_by_expression [,…n]

--将数据库成绩表中各专业编号输出。selectresult_coursefromschool_result

group by result_course;

3.分组筛选

使用group by子句和统计函数对数据进行分组后,还可以使用having子句对分组数据进行进一步的筛选

having子句的查询条件与where子句类似,不同的是having子句可以使用统计函数,而where子句不可以使用统计函数

--查找数据库中平均成绩在85分以上的学生的学号和平均成绩。selectavg(result_number),

result_stufromschool_result

group by result_stu

having avg(result_number)>=65;

在select语句中,当where,group by与having子句都被使用时,要注意他们的作用和执行顺序。where用于筛选由from指定的数据对象;group by用于对where的结果进行分组;having则是对group by 子句以后的分组数据进行过滤。

--查找选修课程超过2门且成绩都在80分以上的学生的学号。selectresult_stufromschool_resultwhere RESULT_NUMBER>=80group by result_stu

having count(result_stu)>=2;

4.排序

在应用中经常要对查询的结果排序输出,例如,学生成绩由高到底排序

升序asc

倒序 desc

默认的是asc

--将20163001专业的学生按出生时间先后排序。select

*

fromSCHOOL_STUDENTSwherestu_class='20163001'order by STU_BIRTHDAY asc;

5.合并

使用union子句可以将两个或多个select查询结果合并成一个结果集

--把课程和班级合并查询select * fromschool_class

UNION allselect * from school_course;

使用union组合两个查询的结果集的基本规则如下:

1.所有查询中的列数和列的顺序必须相同

2.数据类型必须兼容

http://www.dengb.com/oracle/1411306.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/1411306.htmlTechArticle数据库的统计汇总分组合并, 对表数据进行检索时,经常需要对结果进行汇总或计算,例如,在学生成绩数据库中求某门课程的总成绩,统...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值