PostgreSQL分类汇总方法

分类:计算机等级

|

更新时间:2016-07-07|

来源:转载

我们知道MySQL中有分类汇总函数GROUP_CONCAT来实现将组内相关值的连接,但是在PostgreSQL没有此类的函数,但是我们可以使用以下两种方法来方便的达到我们的目的:

我们首先创建一个测试表,并插入一些测试数据:

create table test(id int,name varchar(100));

insert into test values(1,'aa');

insert into test values(1,'bb');

insert into test values(2,'cc');

insert into test values(3,'dd');

insert into test values(2,'ff');

1.使用数组函数两组内的列表转换成数组

select id,array_to_string(

array(select name from test where id=a.id),',')

from test a

group by id;

--结果

3 | dd

2 | cc,ff

1 | aa,bb

是不是看起来非常的简单呢,呵呵,非常的cool!

2.使用自定义的聚集函数

PostgreSQL除了提供给我们的一些预定义函数之外,还有创建聚集函数的DDL语句,非常的灵活!

--首先创建一个状态传递函数:实现将统计结果传递连接

create function pg_concat( text, text ) returns text as '

begin

if $1 isnull then

return $2;

else

return $1 || $2;

end if;

end;' language 'plpgsql';

--创建一个最终的结果函数:实现将最后一个连接符号清除

create function pg_concat_fin(text) returns text as '

begin

return substr($1,1,length($1)-1);

end;' language 'plpgsql';

--创建聚集函数,入口参数basetype:text,状态传递函数:pg_concat,状态变量类型:text,结果函数finalfunc:pg_concat_fin

create aggregate pg_concat (

basetype = text,

sfunc = pg_concat,

stype = text,

finalfunc = pg_concat_fin);

--使用聚集函数进行统计:

select id,pg_concat(name||',')

from test

group by id;

--结果

3 | dd

2 | cc,ff

1 | aa,bb

和第一种方法得到的结果是一样的,非常的方便。

mysql 函数分类汇总_PostgreSQL分类汇总方法相关推荐

  1. R语言使用epiDisplay包的mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应的系数及标准差、相对危险降低率RRR值及其置信区间、AIC值等)

    R语言使用epiDisplay包的mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应的系数及标准差.相对危险降低率RRR值及其置信区间.AIC值等) ...

  2. R语言epiDisplay包mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应系数及标准差、相对危险降低率RRR值及其置信区间、AIC值等)、汇总统计

    R语言使用epiDisplay包的mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分组模型对应的系数及标准差.相对危险降低率RRR值及其置信区间.AIC值等). ...

  3. R语言构建无序多分类逻辑回归模型、mlogit.display函数获取无序多分类逻辑回归模型的汇总统计信息(各分组模型对应的系数及标准差、相对危险降低率RRR值及其置信区间、AIC值等)

    R语言使用nnet包的multinom函数构建无序多分类logistic回归模型.使用epiDisplay包的mlogit.display函数获取无序多分类logistic回归模型的汇总统计信息(各分 ...

  4. excel按季度分类汇总_excel进行分类汇总的五种方法

    excel 进行分类汇总的五种方法 方法 1 :使用创造性的 IF 语句和"选择性粘贴" 步骤如下: 按账户(列 A )对数据进行排序. 在列 C 中创建一个公式, 以持续对每个账 ...

  5. mysql函数大全最小,MySQL函数一览_MySQL函数全部汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  6. excel按季度分类汇总_Excel 分类汇总按年、月和周且用数据透视表与公式实现,并把汇总结果提取出来...

    在 Excel 中,按年.月.日和周分类汇总用数据透视表比较简单方便,进行简单的设置就可以返回它们的汇总结果:按年.月和日汇总可以直接显示它们,但按周汇总只能用日期表示周:而用公式汇总可以实现把属于每 ...

  7. matlab如何分类汇总,excel表格按照数据作图-excel怎么按分类汇总后的汇总数据绘制图表...

    excel如何根据表格中的数据自动在单元格中画图 方法/步骤 1,在excel中输入制图表所需要的数据. 2,选择数据(选择不连续的数据可以按住"ctrl"在选择就可以了.还有选择 ...

  8. python函数和方法的入参格式有哪些_Python函数的参数常见分类与用法实例详解

    本文实例讲述了Python函数的参数常见分类与用法.分享给大家供大家参考,具体如下: 1.形参与实参是什么? 形参(形式参数):指的是 在定义函数时,括号内定义的参数,形参其实就是变量名 实参(实际参 ...

  9. 计算机班级平均分分类汇总,使用分类汇总汇总平均分.docx

    使用分类汇总"汇总平均分 对于需要进行分类汇总的数据表有以下要求: ?首先要求该数据表的每个字段都有字段名,也就是说数据库的每列都有列标题. ?需要进行分类汇总的分类字段"要有实际 ...

最新文章

  1. java序列化的作用-这个挺有用的,不妨学学
  2. 北斗导航 | 读取ground truth data(python源代码)
  3. 大数据组件需要额外添加的依赖包汇总(持续更新中)
  4. hbuilder php xdebug,Hbuilder使用xdebug配置php断点调试
  5. 1.5 编程基础之循环控制 44 第n小的质数
  6. python 2.7 input_Python2.7-fileinput
  7. java匿名对象_面向对象
  8. gin 打linux环境包问题解决
  9. vb中typename函数
  10. LabVIEW学习笔记(1)
  11. 2、金字塔原理:思考的逻辑(6-7)-阅读笔记
  12. 【裴礼文数学分析】例1.1.5
  13. IT负载率与数据中心规模——孙长青
  14. java 朋友圈功能开发_java开发的微信分享到朋友圈功能
  15. 简洁易用的日志模块——log4j
  16. 菜鸟运维笔记:小记编译安装Nginx所遇到的坑
  17. JS/JQuery如何判断文本中是否有繁体字
  18. Excel隔行求和计算公式
  19. VS2017,MFC对WPS下Excel表格的操作
  20. 题目:输入一个8bit数,输出其中1的个数,只能使用1bit全加器

热门文章

  1. 笔记本配置升级准备二:关于固态硬盘
  2. AE脚本-600个科技感HUD信息数据故障场景UI界面元素动画预设 Technology Constructor
  3. 像素生成器获取位置错误_浏览器,像素和舍入错误
  4. 《足球弹弹乐》成爆款获腾讯精品推荐,Cocos 专访开发商解密成功之道
  5. bootstrap网格_Bootstrap网格:掌握最有用的Flexbox属性
  6. 学计算机视力会下降吗,长期看电视盯电脑会让视力下降?这么多年全错了
  7. pert图java_Gantt图和PERT图
  8. Android自定义AlertDialog的控件获取操作
  9. KDJ MACO OBV技术指标
  10. 如何简单实现接口自动化测试(基于 python)