oracle 取平均值

oracle 取平均值,第1张

你好,如果格式都如你贴图的一样的话可以用这种最笨的方式全一个个化成数值型,然后相加取值。

select CHECK_NORM,

(to_number(substr(CHECK_INFO, 1, 4)) +

to_number(substr(CHECK_INFO, 6, 4)) +

to_number(substr(CHECK_INFO, 11, 4)) +

to_number(substr(CHECK_INFO, 16, 4)) +

to_number(substr(CHECK_INFO, 21, 4)) +

to_number(substr(CHECK_INFO, 26, 4)) +

to_number(substr(CHECK_INFO, 31, 4)) +

to_number(substr(CHECK_INFO, 36, 4)) +

to_number(substr(CHECK_INFO, 41, 4)) +

to_number(substr(CHECK_INFO, 46, 4))) / 10

from 表名

如果格式不统一,建议如2楼的,把字符型中的‘/’全部替换成‘+’,然后拼接出来一个sql,执行处理。

望采纳,谢谢。

create or replace procedure (ave out number,themax out number,themin varchar2)is

        Mathmax number

        Mathmin number

       chinesemax number

       chinesemin number

       englishmax number

       englishmin number

       totle number

       sum1 number

       sum2 number

       sum3 number

       count1 number

begin

       select Math into Mathmax from score where 1=1 order by desc

       select Math into Mathmin from score where 1=1 order by asc

       select chinese into chinesemin from score where 1=1 order by asc

       select chinese into chinesemax from score where 1=1 order by desc

       select english into englishmax from score where 1=1 order by desc

       select english into englishmin from score where 1=1 order by asc

       ---the max

       if Mathmax>chinesemax then 

          themax:=Mathmax

       else

          themax:=chinesemax

       end if 

       if themax > englishmax then 

          themax:=themax

       else

         themax:=englishmax

       end if 

       ---the min 

       if Mathmin>chinesemin then 

          themin:=chinesemin

       else

          themin:=Mathmin

       end if 

       if themin > englishmin then 

          themin:=englishmin

       else

         themin:=themin

       end if 

       --the average

       select count(1) into count1 from score

       select sum(math) into sum1 from score

       select sum(chinese) into sum2 from score

       select sum(english) into sum3 from score

       ave:=(sum1+sum2+sum3)/count1

       

end

1、首先是最基础的平均值计算,直接套用公式即可。

公式:=AGGREGATE(1,,B2:D2)

2、统计平均值时想加一点附加条件,就得换一下公式了。

公式:=AVERAGEIF(B:B,">40")

3、除了可以按条件统计之外,平均值也是可以按区域和部门统计的。

公式:=AVERAGEIF(B2:B11,"业务部",C2:C11)

常用函数:

01 IF函数

用途:根据条件进行判断

用法:

=IF(判断条件,条件成立返回的值,条件不成立返回的值)

=IF(AND(条件1,条件2), 两个条件同时成立返回的值,不成立返回的值)

=IF(OR(条件1,条件2), 两个条件之一成立返回的值,都不成立返回的值)

如图:当A列值小于500且B列值显示未到期,在C列显示补款,否则显示空白。

=IF(AND(A2<500,B2="未到期"),"补款",””)

02 Round函数、INT函数

用途:数值四舍五入和取整函数

用法:=Round(数值,保留的小数位数) 四舍五入;=INT(数值) 数字取整

如图:分别对A1的小数进行取整和四舍五入保留两位小数B4公式 =INT(A1);B5公式 =Round(A1,2)

03 Vlookup函数

用途:数据查找、表格核对、表格合并

用法:=vlookup(查找的值,查找区域,返回值所在列数,精确还是模糊查找)

如图:根据姓名查找职位。

04 Sumif和Countif函数

用途:按条件求和,按条件计数,很多复杂的数据核对也需要用到这2个函数。

用法:=Sumif(判断区域,条件,求和区域);=Counif(判断区域,条件)

如图:要求在F2统计A产品的总金额

05 Sumifs和Countifs函数

用途:多条件求和、多条件计数,数据分类汇总利器

用法:

=Sumifs(求和区域,判断区域1,条件1,判断区域2,条件2…..

=Countifs(判断区域1,条件1,判断区域2,条件2.....)

如图:统计郑州所有电视机的销量之和=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11)

说明:在sumifs中可以使用通配符*


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9423336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存