3,491
社区成员
发帖
与我相关
我的任务
分享
--行数固定,可以采用如下类似方法:
WITH tmp AS
(SELECT wm_concat(overtime) overtimes, setuser
FROM ieai_hand_rule
GROUP BY setuser)
SELECT SELECT substr(overtimes, 1, instr(overtimes, ',', 1, 1) - 1) overtime1,
substr(overtimes, instr(overtimes, ',', 1, 1) + 1) overtime2,
setuser
FROM tmp;
--行数不定,编写存储过程来解决吧
--没描述清楚 猜下
select setuser,max(overtime) overtime1,min(overtime) overtime2
from tn
group by setuser
--如果overtime里值少的话可以用下面的语句 多的话用过程
with tb as(
select 88 overtime,'sa' setuser from dual union all
select 29,'sa' from dual)
--以上为提供数据的语句
select max(decode(overtime,88,overtime,null)) overtime1,
max(decode(overtime,29,overtime,null)) overtime2,
setuser
from tb
group by setuser
OVERTIME1 OVERTIME2 SE
---------- ---------- --
88 29 sa