1

1.Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法

11g里面用listagg:(19c也可用)

select listagg(name,',') within (order by id) from table


10g里面用wm_concat:
select wm_concat(name) from table

wm_concat是undocument的
listagg是11g document的

2.Oracle中根据关联流水号选出次数最大的记录


select t.rec_sn,
       t.csm_flow,
       t.approval_details,
       t.approval_times,
       t.approval_step,
       t.submit_user_name,
       t.submit_user_id,
       t.submit_datetime,
       t.auditing_result,
       t.auditing_not_pass_reason
  from HTCPP.CP_SET_AUDITING_MAIN t
 where csm_flow in ( '16312674244590002409','16313240652470002485')
   and APPROVAL_TIMES in
       (SELECT Max(APPROVAL_TIMES) FROM HTCPP.CP_SET_AUDITING_MAIN where t.csm_flow=csm_flow)
       

Jackson
4 声望2 粉丝