在oracle中,如何将数据排序到右侧而不是底部?
假设我桌上有这些数据在oracle中,如何将数据排序到右侧而不是底部?,oracle,oracle10g,pivot,Oracle,Oracle10g,Pivot,假设我桌上有这些数据 select * from user.weekly_job; 得到: 但我需要员工提供的所有数据,其中包含每种工作类型的发生情况,如下所示: Staff | 1 | 2 | 3 | 4 | 5 A | 1 | 1 | 2 | 0 | 1 B | 0 | 2 | 1 | 0 | 1 如何使用oracle query执行此操作?如果您有固定数量的JobType值: select STAFF, SUM(CASE WHEN JobType=1 TH
select * from user.weekly_job;
得到:
但我需要员工提供的所有数据,其中包含每种工作类型的发生情况,如下所示:
Staff | 1 | 2 | 3 | 4 | 5
A | 1 | 1 | 2 | 0 | 1
B | 0 | 2 | 1 | 0 | 1
如何使用oracle query执行此操作?如果您有固定数量的JobType值:
select STAFF,
SUM(CASE WHEN JobType=1 THEN 1 ELSE 0 END) as "1",
SUM(CASE WHEN JobType=2 THEN 1 ELSE 0 END) as "2",
SUM(CASE WHEN JobType=3 THEN 1 ELSE 0 END) as "3",
SUM(CASE WHEN JobType=4 THEN 1 ELSE 0 END) as "4",
SUM(CASE WHEN JobType=5 THEN 1 ELSE 0 END) as "5"
FROM t
GROUP BY STAFF
按每种作业类型分组后,我有1万多个数据,但php需要很长时间才能完成这项工作,所以我需要先用oracle的方式进行比较
select STAFF,
SUM(CASE WHEN JobType=1 THEN 1 ELSE 0 END) as "1",
SUM(CASE WHEN JobType=2 THEN 1 ELSE 0 END) as "2",
SUM(CASE WHEN JobType=3 THEN 1 ELSE 0 END) as "3",
SUM(CASE WHEN JobType=4 THEN 1 ELSE 0 END) as "4",
SUM(CASE WHEN JobType=5 THEN 1 ELSE 0 END) as "5"
FROM t
GROUP BY STAFF