SQL查询总和计算字段

泰亚卜·侯赛因

我有一个表,其中具有针对某些员工数据的“技能ID”及其“能力”。使用IIF,我使用以下查询创建了一个计算字段req_Capacity

SELECT 
    emp_code, 
    Skill_ID,
    Capacity,
    Target_Req,
    iif(capacity > target_req,target_req,capacity) as req_Capicity
FROM [load_Style] 
ORDER by Skill_ID 

现在,我想计算计算出的字段req_capacity以将所有具有相同技能ID的员工分组,如果该技能的总和大于3000,则留下额外的数据。例如我有以下字段


Skill_ID    Req_Capacity
1             1800
1             1800
2             1000
2             1000
2             1000
2             1500
```none
**Required Output**
Skill_ID    Req_Capacity
1             1800
1             1200
2             1000
2             1000
2             1000


I tried the following query

Select Load_Style.Skill_ID,Load_Style.Capacity
From Load_Style
Where load_Style.Capacity=(Select load_Style.Capacity From load_Style Group by load_style.Skill_ID Having SUM(load_style.capacity)<=3000)

但它给出了一个错误,因为选择列中的列无效,因为该列未包含在聚合函数或GROUP BY子句中。

托斯滕·凯特纳

您需要运行总计的容量才能与3000进行比较SUM OVER

select
  emp_code, 
  skill_id,
  capacity,
  case 
    when sum(capacity) over(partition by skill_id order by emp_code) - capacity >= 3000 then
      0
    when sum(capacity) over(partition by skill_id order by emp_code) >= 3000 then
      3000 - (sum(capacity) over(partition by skill_id order by emp_code) - capacity)
    else
      capacity
    end as req_capicity
from load_style
order by skill_id, emp_code;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用linq将求和查询写入sql以计算nchar字段值的总和?

来自分类Dev

如何计算此linq to sql查询的总和?

来自分类Dev

Sitecore查询,是否可以计算整数字段的总和

来自分类Dev

复杂的SQL查询-联接表中的字段总和

来自分类Dev

根据其他字段的总和计算字段

来自分类Dev

如何计算查询集中每个项目的两个字段的总和

来自分类Dev

使用SQL查询总和

来自分类Dev

SQL查询总和

来自分类Dev

SQL查询总和IF GROUP BY

来自分类Dev

SQL查询总和

来自分类Dev

如何使用SQL查询计算拼写错误的字段?

来自分类Dev

SQL查询创建一个计算字段

来自分类Dev

通过SQL查询计算MS Access中的空白字段

来自分类Dev

条件字段='x'的SQL总和

来自分类Dev

条件字段='x'的SQL总和

来自分类Dev

连续计算2个字段的总和

来自分类Dev

mongodb如何使年龄字段总和不计算

来自分类Dev

计算每行中字段的累积总和

来自分类Dev

计算字段上的聚合和总和

来自分类Dev

SQL SELECT查询可从表中提取数据以计算总和

来自分类Dev

SQL查询计算每条记录中前一条记录的总和

来自分类Dev

如果条件匹配,则查找列中字段总和的 SQL 查询,否则返回默认值

来自分类Dev

在LINQ查询中计算天数总和

来自分类Dev

计算两个查询的总和?

来自分类Dev

按类型分组计算层次查询的总和

来自分类Dev

查询以计算表之间的多个总和

来自分类Dev

SQL查询按总和排序

来自分类Dev

SQL Select总和查询变量

来自分类Dev

带总和的查询的 SQL 累积