一个非常有用的自定义聚集函数
2011-08-30 13:14
127 查看
---连接以关键字分组的字符串
---首先创建一个状态传递函数:实现将统计结果传递连接
create function pg_concat( text, text ) returns text as
$BODY$
begin
if $1 is null then
return $2;
else
return $1 || $2;
end if;
end; $BODY$ 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;
---首先创建一个状态传递函数:实现将统计结果传递连接
create function pg_concat( text, text ) returns text as
$BODY$
begin
if $1 is null then
return $2;
else
return $1 || $2;
end if;
end; $BODY$ 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;
相关文章推荐
- implementors一个eclipse面向接口编程的非常有用的插件:可以直接跳到接口的实现代码
- 一个非常有用的远程访问命令
- Mysql一个非常有用的内置函数今天碰到要把MySQL数据库中的varchar转换成date类型进
- 一个非常有用的windbg命令.cmdtree
- 一个非常有用的webpart--文档列表添加文件夹树
- 一个非常有用的函数——COALESCE
- 一个非常有用的函数——COALESCE
- 一个非常有用的函数——COALESCE
- 一个非常有用的函数——COALESCE
- 一个非常轻量级自定义的HUD
- 一个非常有用的函数——COALESCE
- 一个非常有用的函数——COALESCE
- 用MATLAB做聚类分析时非常有用的自定义距离函数和标准化函数
- qt4.0一个非常有用的类QSettings
- Mysql数据库非常有用的一个参数skip-grant-tables
- 一个非常有用的函数——COALESCE
- Rails Model验证及自定义验证 --非常有用
- Qt自定义带游标的slider,在滑块正上方显示当前值(非常有意思,继承QSlider之后增加一个QLabel,然后不断移动它)
- 一个NB的博客 个人感觉非常有用
- qt4.0一个非常有用的类QSettings