如何使用select查询在oracle中显示输出

时间:2013-10-11 12:24:25

标签: mysql oracle select replace linefeed

下面是我的EMP表,其中包含一些示例数据

EMPNAME | WORK_DATA | WORK_HOURS
---------------------------------
abc     | 01-SEP-13 |     9
xyz     | 01-SEP-13 |     8
abc     | 02-SEP-13 |     8
xyz     | 02-SEP-13 |     7
abc     | 01-OCT-13 |     5
xyz     | 01-OCT-13 |     7
abc     | 02-OCT-13 |     8
xyz     | 02-OCT-13 |     7

现在我希望使用select语句

在oracle中显示它
EMPNAME | SEP_MONTH_WORKING_HOURS | OCT_MONTH_WORKING_HOURS 
-----------------------------------------------------------
abc     | 17                      | 13
xyz     | 15                      | 14

Seond怀疑是:

EMPNAME | SEP_MONTH_WORKING_HOURS | RANK 
-----------------------------------------------------------
xyz     | 15                      | 1
abc     | 17                      | 2

1 个答案:

答案 0 :(得分:2)

这应该可以使用extract

select empname, 
  sum(case when  extract(month from work_data) = 9 then work_hours end) sept_work_hours,
  sum(case when  extract(month from work_data) = 10 then work_hours end) oct_work_hours
from emp
group by empname

请注意,9月份的abcs员工应该是17而不是19。