PostgreSQL聚合函数的分组排序怎么使用


本篇内容介绍了“PostgreSQL聚合函数的分组排序怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用于汇总的函数。COUNT,计算表中的行数(记录数)。计算全部数据的行数:NULL之外的数据行数:结果如下图。对于一个含NULL的表:将列名作为参数,得到NULL之外的数据行数;将星号作为参数,得到所有数据的行数(包含NULL)。SUM、AVGSUM、AVG函数只能对数值类型的列使用。SUM,求表中的数值列的数据的和。purchase_price里面的数据有NULL,四则运算中存在NULL,结果也是NULL,但这里面结果不是NULL。这是因为,聚合函数以列名为参数,计算的时候会排除NULL的数据。AVG,求表中的数值列的数据的平均值。对于列里面数据有NULL的,会事先去掉NULL再计算。如AVG(purchase_price),分母是6而不是8。MAX、MINMAX,求表中任意列数据最大值。MIN,求表中任意列数据最小值。聚合函数+DISTINCT计算去除重复数据后的数据行数:DISTINCT要写在括号中,目的是在计算行数前先去重。所有的聚合函数的参数中都可以使用DISTINCT。下面这个SUM(DISTINCT sale_price),先把sale_price里面的数据去重,然后再求和。GROUP BY对表分组:前面使用聚合函数,对表中所有数据进行汇总处理。还可以先把表分成几组,再进行汇总处理。格式:按商品种类统计数据:使用GROUP BY product_type,会按商品种免费云主机域名类对表切分。GROUP BY指定的列,称为聚合键、分组列。按商品种类对表切分,得到以商品种类为分界的三组数据,然后,计算每种商品数据行数。如果聚合键里面含有NULL,也将NULL作为一组特定数据。如果加上WHERE子句,格式如下:先根据WHERE子句指定的条件进行筛选,然后再汇总处理。下面语句的执行顺序:FROM、WHERE、GROUP BY、SELECT。使用聚合函数和GROUP BY时需要注意:1.SELECT子句中,只能存在三种元素:常数、聚合函数、GROPU BY子句指定的列名(聚合键)。使用GROPU BY子句时,SELECT子句中不能出现聚合键之外的列名。2.GROUP BY子句里面不能使用SELECT子句中定义的别名。这是因为SQL语句在DBMS内部先执行GROUP BY子句,再执行SELECT子句。执行GROUP BY子句时候,DBMS还不知道别名代表的是啥,因为别名是在SELECT子句里面定义的。3.GROUP BY子句执行结果的显示顺序是无序的。4.只有SELECT子句、HAVING子句、ORDER BY子句里面能使用聚合函数。HAVING使用GROPU BY子句,得到将表分组后的结果。使用HAVING子句,指定分组的条件,从分组后的结果里面选取特定的组。格式:下面这个,选出包含两行数据的组。下面这个,选出平均值>=2500的组。HAVING子句中,能用的三种元素:常数、聚合函数、GROPU BY子句指定的列名(聚合键)。聚合键所对应的一些条件,可以写在HAVING子句中,也可写在WHERE子句中。下面两段代码结果都一样。HAVING子句用来指定组的条件。WHERE子句用来指定数据行的条件。聚合键所对应的一些条件还是写在WHERE子句中好点。ORDER BY使用ORDER BY子句,可以对查询结果进行排序。格式:ORDER BY子句写在SELECT语句末尾。ORDER BY子句里面的列名称为排序键。使用升序排列,使用ASC关键字,省略这个关键字,默认也是升序排列。上面是升序排列,如果想要降序排列,使用DESC关键字。上面的排序,sale_price=500的有两个数据,这两个数据的顺序是随机的。可以再添加一个排序键,对这两个数据排序。下面就实现了,价格相同时,按照商品编号升序排序。多个排序键时,优先使用左边的键,该列存在相同值,再参考右边的键。如果,排序键里面有数据是NULL,NULL会在结果的开头或结尾显示。ORDER BY子句里面可以使用SELECT子句中定义的别名。这是由SQL语句在DBMS内部执行顺序决定的。SELECT子句执行顺序在ORDER BY前,GROPU BY后。FROM、WHERE、GROPU BY、HAVING、SELECT、ORDER BYORDER BY子句可以使用在表里,但不在SELECT子句里的列。ORDER BY子句里面可以使用聚合函数。“PostgreSQL聚合函数的分组排序怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: npm和node.js的关系是什么

这篇文章主要介绍“npm和node.js的关系是什么”,在日常操作中,相信很多人在npm和node.js的关系是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”npm和node.js的关系是什么”的疑惑有所帮助!接下来,请跟着…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/12 20:16
下一篇 04/12 20:16

相关推荐