当前位置: 代码迷 >> Oracle技术 >> oracle分组出来的数据,反推回去在表中那一行解决方案
  详细解决方案

oracle分组出来的数据,反推回去在表中那一行解决方案

热度:564   发布时间:2016-04-24 08:05:15.0
oracle分组出来的数据,反推回去在表中那一行
oracle每个表,多有一个rowid字段,如果我采用了分组group by语句,出来的数据,我要反推回去得到表的ROWID,有什么办法可以得到。
其实就是很简单
select  rowid,field_a,field_b,max(xx) 
from tableX
group by  field_a,field_b
--如何能做到这样分组。
              
------解决思路----------------------
rowid 在group 的时候是不能加在 select列表中的, 而且返回的每一行数据可能包含多个rowid ,只能这样做,就是自定义一个聚集函数,返回将多个rowid 用分隔符连接起来的字符串。比如wm_concat这个函数

select  wm_concat(rowid),field_a,field_b,max(xx) from tableX group by  field_a,field_b
 
  相关解决方案