Maison >base de données >tutoriel mysql >Oracle中自带函数wm_concat排序

Oracle中自带函数wm_concat排序

WBOY
WBOYoriginal
2016-06-07 17:26:172833parcourir

Oracle 中自带函数wm_concat排序 在wm_concat 连接字符串时发现有时不会按你要求的排序 比如 一个表test有字段 id,name ,product

Oracle 中自带函数wm_concat排序

在wm_concat 连接字符串时发现有时不会按你要求的排序

比如 一个表test有字段 id,name ,product ,num   

 select name ,(select  wm_concat( product'('||tot_num')')

 from ( select  name ,product ,sum(num)  tot_num, row_number()  over (partition by  name order by  sum(num) desc )  as rn

 from  test group by name ,product )  m  where rn

from  test n

group by name

 在子查询排好序在关联 发现 连接的字段就按sum(num)的大小排序了

 

select  name, wm_concat( product'('||tot_num')')  from  (select  name ,product ,sum(num)  tot_num,

 row_number()  over (partition by  name order by  sum(num) desc )  as rn

 from  test group by name ,product

 )  where  rn

group by name

这样就没排序了

感觉在使用wm_concat()函数你需要排序!那么在关联前确认他是否已排好序

linux

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn