oracle使用wm_concat后,对结果排序问题

表studentidnameage10aaa103bbb115ccc12现想将所有id取出,并排序,结果放到一个字符串中。selectwmsys.wm_concat(id... 表student

id name age
10 aaa 10
3 bbb 11
5 ccc 12

现想将所有id取出,并排序,结果放到一个字符串中。
select wmsys.wm_concat(id)
from student
order by to_number(id);
期望得到: 3,5,10,结果得到10,3,5
网上查了下,貌似要用over,但是用over后
select wmsys.wm_concat(id)
from student
over( order by id)
得到:
3
3, 5
3, 5, 10
我要把最后一行取出来吗?取的话怎么取?还是有什么别的好方法?
展开
 我来答
csu_sgltmn
2013-02-22 · TA获得超过122个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:69.6万
展开全部
wm_concat 的求和中对数据项的排序方式比较复杂,取数据是楼主你这种方式,其实只差最后一步了。
select max(a.var) var
from (select wm_concat(t.id) over(order by to_number(t.id)) var
from student t) a
星辰大海byj
推荐于2018-03-01 · TA获得超过1020个赞
知道小有建树答主
回答量:993
采纳率:100%
帮助的人:524万
展开全部
select str from (
select wm_concat(t.id) over( order by t.id) str,row_number() over( order by t.id desc) rn from student t) a where a.rn=1
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dngoryaner
2013-02-22 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1124万
展开全部
DENSE_RANK() over(PARTITION BY id order by id),age
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式