数据库2字段统计平均值、AS、avg、round的结合用法 | 您所在的位置:网站首页 › 求总价的函数excel › 数据库2字段统计平均值、AS、avg、round的结合用法 |
今天工作过程中遇到了一个关于数据库求平均值的问题,如果说很小的数据量还行,一旦遇到巨大的数据量真可要命。然后就不断去找资料解决了这个问题,现在总结一下,希望对也遇到类似问题的小伙伴会有帮助。
首先,一般的求平均值的方法大家都知道,无非就是利用avg函数,但是这只是针对一个字段中的值而言的,那如果针对两个字段该怎么统计出平均值呢。 我这边在Oracle数据库造了一些数据(仅供参考,可举一反三),表table1: ![]() 根据意思分别是购买者、商品名称、商品总消费、商品消费总价。(按照数据库语法来说,表名、字段名英文设计较为标准)
1、Sum()函数 例:统计铅笔的花销总价和钢笔的花销总价(在统计的时候需要思考想要得到的结果比较直观,避免出现字段误解的情况,可以在SQL的时候标明中文) SELECT sum("item_total_price") AS 商品总价 ,sum("item_total") AS 商品总数量 FROM TABLE1 ![]() (执行结果如下) ![]() 2、统计铅笔和钢笔的平均价格,涉及到两个字段,不需要用到avg()函数: ![]() (执行结果如下) ![]() 从上述两个例子可以看出,直接使用as即可清晰得看到想要得结果,在sql脚本中,as关键词作为别名,即给已经存在于数据库里的字段赋予了自己即时取的一个名称,那么通过运用as,可以一目了然地知道求得结果是什么。
那么在求出来得结果中,还是存在很多小数位的,那如何使它只保留2位小数呢?这就需要用到round()函数。 3、round()函数 round()函数作用是将数字四舍五入到指定地位数。语法:round(结束数,保留地小数位个数)。像下面的语句即是把平均价格控制显示两位小数: ![]() (执行结果如下) ![]() 那如果是想统计购买铅笔的客户他们平均每个人花费了多少则需要用到avg()和round()函数的嵌套用法,即在round()函数内嵌套一个avg()函数即可把avg()得到的结果保留n位小数位。 ![]() (执行结果如下) ![]() 可以看到结果数保留2位小数。 Tips: 以上SQL执行均在Oracle数据库中运行成功,语句同时可在MySQL中运行,但需要注意把双引号去掉。 Oracle表和字段存在大小写的区别,Oracle默认是大写,用双引号括起来的区分大小写,在创建数据库的时候navicat自动给我们创建的表和字段加上了双引号,如果没有,系统自动转成大写(那么执行语句的时候会出错哦)。 MySQL不区分大小写。
OK,总结如上。小小的知识点丰富你我,每天都能进步一点点。
|
CopyRight 2018-2019 实验室设备网 版权所有 |