我有一个名为data的表,该表的一列为empid 从生产中选择类别
injectedProp
在此数据的前两位数字中提到了一个部门。示例50是一个部门51是另一个部门,我想按以下格式在Oracle SQL查询中按ID方式拆分ID部门
Empid
------
50011
50012
51011
52013
50014
55015
55016
答案 0 :(得分:2)
一种方法通过row_number()
使用条件聚合:
select max(case when empid like '50%' then empid else 0 end) as dept0,
max(case when empid like '51%' then empid else 0 end) as dept1,
max(case when empid like '53%' then empid else 0 end) as dept3,
max(case when empid like '54%' then empid else 0 end) as dept4,
max(case when empid like '55%' then empid else 0 end) as dept5
from (select t.*,
row_number() over (partition by substr(empid, 1, 2) order by empid) as seqnum
from t
) t
group by seqnum;