【发布时间】:2018-12-16 08:01:52
【问题描述】:
我正在尝试在我的 SQl 表中添加 3 列。
第 1 列:Total_Hours_Overall
我希望此列汇总每个 sequence_ID 的总小时数
第 2 列:Total_No_Codes
我希望此列是“客户”列中不同值的计数。
第 3 列:客户总数
我希望此列是 'Client' 列中的不同值的计数,其中 'Job_Type' 列等于 'Client'
下面是我目前拥有的表的 sn-p。有超过 800 个唯一的 sequence_ID,每个 ID 有多行。我希望上面的计算列显示每一行的值。
Sequence_ID |Date_European |Hours |Month |Day |Year |Day_of_Week |Client_Number |Client |Job_No |Job_Type
1001 |01/09/2017 |7.3 |9 |1 |2017 |Friday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE
1001 |04/09/2017 |7.3 |9 |4 |2017 |Monday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE
1001 |09/08/2017 |2 |8 |9 |2017 |Wednesday |1 |Admin |A1 |Non-Billable
1001 |24/08/2017 |1.3 |8 |24 |2017 |Thursday |2 |Client1 |A2 |Client
1001 |28/08/2017 |2.3 |8 |28 |2017 |Monday |2 |Client1 |A2 |Client
1001 |16/08/2017 |0.5 |8 |16 |2017 |Wednesday |3 |Client2 |A3 |Client
1001 |16/08/2017 |1 |8 |16 |2017 |Wednesday |2 |Client1 |A2 |Client
1001 |18/08/2017 |3 |8 |18 |2017 |Friday |3 |Client2 |A3 |Client
1001 |22/08/2017 |0.7 |8 |22 |2017 |Tuesday |4 |Client3 |A4 |Client
1001 |16/08/2017 |7.3 |8 |16 |2017 |Wednesday |5 |Client4 |A5 |Client
1001 |18/08/2017 |1.3 |8 |18 |2017 |Friday |5 |Client4 |A5 |Client
1001 |21/08/2017 |1 |8 |21 |2017 |Monday |5 |Client4 |A5 |Client
1001 |12/09/2017 |0.6 |9 |12 |2017 |Tuesday |5 |Client4 |A5 |Client
1002 |01/09/2017 |7.3 |9 |1 |2017 |Friday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE
1002 |04/09/2017 |7.3 |9 |4 |2017 |Monday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE
1002 |09/08/2017 |2 |8 |9 |2017 |Wednesday |1 |Admin |A1 |Non-Billable
1002 |24/08/2017 |1.3 |8 |24 |2017 |Thursday |4 |Client3 |A4 |Client
1002 |28/08/2017 |2.3 |8 |28 |2017 |Monday |5 |Client4 |A5 |Client
以下是我希望我的表格的外观。
Sequence_ID |Date_European |Hours |Month |Day |Year |Day_of_Week |Client_Number |Client |Job_No |Job_Type |Total_Hours_Overall |Total_No_Codes |Total Clients
1001 |01/09/2017 |7.3 |9 |1 |2017 |Friday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE |35.6 |6 |4
1001 |04/09/2017 |7.3 |9 |4 |2017 |Monday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE |35.6 |6 |4
1001 |09/08/2017 |2 |8 |9 |2017 |Wednesday |1 |Admin |A1 |Non-Billable |35.6 |6 |4
1001 |24/08/2017 |1.3 |8 |24 |2017 |Thursday |2 |Client1 |A2 |Client |35.6 |6 |4
1001 |28/08/2017 |2.3 |8 |28 |2017 |Monday |2 |Client1 |A2 |Client |35.6 |6 |4
1001 |16/08/2017 |0.5 |8 |16 |2017 |Wednesday |3 |Client2 |A3 |Client |35.6 |6 |4
1001 |16/08/2017 |1 |8 |16 |2017 |Wednesday |2 |Client1 |A2 |Client |35.6 |6 |4
1001 |18/08/2017 |3 |8 |18 |2017 |Friday |3 |Client2 |A3 |Client |35.6 |6 |4
1001 |22/08/2017 |0.7 |8 |22 |2017 |Tuesday |4 |Client3 |A4 |Client |35.6 |6 |4
1001 |16/08/2017 |7.3 |8 |16 |2017 |Wednesday |5 |Client4 |A5 |Client |35.6 |6 |4
1001 |18/08/2017 |1.3 |8 |18 |2017 |Friday |5 |Client4 |A5 |Client |35.6 |6 |4
1001 |21/08/2017 |1 |8 |21 |2017 |Monday |5 |Client4 |A5 |Client |35.6 |6 |4
1001 |12/09/2017 |0.6 |9 |12 |2017 |Tuesday |5 |Client4 |A5 |Client |35.6 |6 |4
1002 |01/09/2017 |7.3 |9 |1 |2017 |Friday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE |20.2 |2 |2
1002 |04/09/2017 |7.3 |9 |4 |2017 |Monday |0 |ANNUAL LEAVE |0 |ANNUAL LEAVE |20.2 |2 |2
1002 |09/08/2017 |2 |8 |9 |2017 |Wednesday |1 |Admin |A1 |Non-Billable |20.2 |2 |2
1002 |24/08/2017 |1.3 |8 |24 |2017 |Thursday |4 |Client3 |A4 |Client |20.2 |2 |2
1002 |28/08/2017 |2.3 |8 |28 |2017 |Monday |5 |Client4 |A5 |Client |20.2 |2 |2
我尝试过(但失败了)很多方法。我认为需要使用子查询,但我似乎无法正确获取格式。
另一个我很难理解生成所需格式的问题是 count 函数,因为我知道这需要 group by 子句,但我现在想将所有行保留在我的表中。
我想我想太多了,所以任何帮助都将不胜感激。 在此先感谢
【问题讨论】:
标签: sql sql-server count subquery distinct