Sql 站点代码匹配的所有字段A的总和
我有一些现有的代码:Sql 站点代码匹配的所有字段A的总和,sql,oracle,sum,Sql,Oracle,Sum,我有一些现有的代码: select job.job_number, job_status_log.status_code, job_status.status_name, central_site.site_code, central_site.site_name, 'wc ' || to_char(trunc(job.job_entry_date, 'IW'), 'dd month') as week_job_raised, TO_CHAR(job.job_entry_date, 'MONT
select
job.job_number,
job_status_log.status_code,
job_status.status_name,
central_site.site_code,
central_site.site_name,
'wc ' || to_char(trunc(job.job_entry_date, 'IW'), 'dd month') as week_job_raised,
TO_CHAR(job.job_entry_date, 'MONTH') as month_job_raised,
'wc ' || to_char(trunc(job.actual_comp_date, 'IW'), 'dd month') as week_job_complete,
TO_CHAR(job.actual_comp_date, 'MONTH') as month_job_complete,
job.job_entry_date as Job_Started,
job.actual_comp_date as Job_Completed,
job.job_notes,
job.job_easting,
job.job_northing,
job_attribute.param_num_value as Hours_On_Job
from
job
inner join job_status_log on job.job_number = job_status_log.job_number
inner join job_status on job_status_log.status_code = job_status.status_code
inner join central_site on job.site_code = central_site.site_code
inner join job_attribute on job.job_number = job_attribute.job_number
where
job_status_log.allocated_officer = 'ID51' and
job.job_log_number = job_status_log.job_log_number and
job_status_log.status_code not in ('XJOB','9990') and
job_attribute.param_type_code = 'GRFF' and
job.actual_comp_date is not null
这将产生以下结果:
Job Number Site_Code Hours_On_Job
12345 23 10
12346 23 8
12347 8 2
12348 3 3
我想做的是找到一种方法,添加另一列,将报告中每个站点代码的所有工作小时数相加,然后将其显示在名为“站点上的总工作小时数”的新列中
Job Number Site_Code Hours_On_Job Total_Hours_On_Site
12345 23 10 18
12346 23 8 18
12347 8 2 2
12348 3 3 3
您可以添加以下列:
sum(job_attribute.param_num_value) over (partition by central_site.site_code) as Total_Hours_On_Site
这将为您提供按站点划分的作业总数。根据示例数据,这可能是您想要的。您的选择返回至少10列,但指定的结果只有3列。。。