SQL是否有用于字符串的聚合函数

zhengyunQ 2011-09-19 11:17:53
设有SUM_STR()这样一个类似SUM()的聚合函数,功能如:
select sum_str(name,',')from class group by type;
可以把name用‘,’连接按type分组查出来。
有这样的聚合函数不?还有聚合函数是否可以自定义?
--by zhengyun
...全文
454 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxyzxq2008 2011-09-19
  • 打赏
  • 举报
回复
10g以后可以用wm_concat这个函数阿,行转列,逗号隔离,应该就是你需要的了
xiaobn_cn 2011-09-19
  • 打赏
  • 举报
回复
oracle 10g以上版本有对应的函数:
wm_concat(列名)
这个函数不能指定分隔符,只能以逗号分隔

oracle可以自定义聚合函数
jimmylin040 2011-09-19
  • 打赏
  • 举报
回复
9i有一个函数stragg功能应该类似。
不过10g不能用。
10g的话,可以用connect by来做,例子

select t.code,substr(max(sys_connect_by_path(t.sz,',')),2) sz
from
(select code,sz,row_number()over(partition by code order by sz) rn from (select * from prdsz where rownum<100)) t
start with t.rn=1
connect by t.code=prior t.code
and t.rn-1=prior t.rn
group by t.code;
虫洞 2011-09-19
  • 打赏
  • 举报
回复
搜一下sys_connect_by_path或者wmsys.wm_concat()

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧