Oracle自定议聚合拼接string,同时合并两列时顺序不一样

wuxing2006 2011-05-16 10:21:12
Oracle自定议聚合拼接string,同时合并两列时顺序不一样,如:

在表中的记录是:
id info price
1 计算机*2 20000
1 机械*1 20000
1 计算机*1 10000
1 家具*2 20000


select connstrsum(info)info,connstrsum(price) from product group by id

结果为:
info price
计算机*2,机械*1,家具*2,计算机*1 20000,20000,10000,20000

顺序就不对了,家具*2应该是在最后面
...全文
314 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
linchb_ 2011-05-16
  • 打赏
  • 举报
回复
估计oralce 是一个列 一个列执行的吧
[Quote=引用 4 楼 wuxing2006 的回复:]

有人知道为什么吗?同一行记录,难道不是同步处理的吗
[/Quote]
wuxing2006 2011-05-16
  • 打赏
  • 举报
回复
有人知道为什么吗?同一行记录,难道不是同步处理的吗
304的的哥 2011-05-16
  • 打赏
  • 举报
回复

select id,wm_concat(tb.info) info,wm_concat(tb.price) price
from tb
group by id
tangren 2011-05-16
  • 打赏
  • 举报
回复
--确实如此,使用wm_concat也一样,如果每次聚合1列就没有问题
SELECT a.info, b.price
FROM (SELECT id, connstrsum(info) info FROM product GROUP BY id) a,
(SELECT id, connstrsum(price) price FROM product GROUP BY id) b
WHERE a.id = b.id;
wuxing2006 2011-05-16
  • 打赏
  • 举报
回复
自己顶个先,后面的price 顺序就是对的,求解

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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