[英]Grouping by category
我有一个名为data的表,其中有一个名为empid的列从生产中选择类别
Empid
------
50011
50012
51011
52013
50014
55015
55016
在此数据的前2位数字中提到了一个部门。示例50是一个部门51是另一个部门,我想按以下格式将id部门明智地拆分,在Oracle SQL查询中
Dept0 Dept1. Dept3. dept4. Dept5
50011. 51011 52013. 0. 55015
50012. 0. 0. 0. 55016
50014. 0. 0. 0. 0
一种方法通过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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.