添加列的值并在新 table 中显示添加的结果

Add values of a column and display added result in new table

The table with the data that I have

在上面的 table 中,我有以下列:weekNumber、weeklyHours、points_Rewarded。

有四名员工:a,b,c,d

我有第 1 周、第 2 周、第 3 周等的值(我还可以有更多周的数据,例如第 4 周、第 5 周等)

我想编写一个查询,以便在通过查询后得到 weeklyHourspoints_Rewarded 的总和每个 名员工在一个新 table 中。 查询应该给我的那种table在这里the desired table that I want after passing the query

请帮我查询。

提前致谢。

您可以使用 GROUP BY 来实现聚合值。在您的情况下,您正在寻找 SUM.

试试这个

DECLARE @tbl TABLE(EmployeeID INT, EmployeeName VARCHAR(100),WeekNumber VARCHAR(100),WeeklyHours INT,pointsRewarded INT);
INSERT INTO @tbl VALUES
 (1,'a','week1',10,20)
,(2,'b','week1',1,20)
,(3,'c','week1',20,20)
,(4,'d','week1',30,30)
,(1,'a','week2',11,10)
,(2,'b','week2',44,10)
,(3,'c','week2',5,10)
,(4,'d','week2',6,40)
,(1,'a','week3',7,10)
,(2,'b','week3',88,10)
,(3,'c','week3',9,10)
,(4,'d','week3',0,10);

SELECT tbl.EmployeeID
      ,tbl.EmployeeName
      ,SUM(tbl.WeeklyHours) AS Total_Weekly_Hours
      ,SUM(pointsRewarded) AS Total_Points
FROM @tbl AS tbl
GROUP BY tbl.EmployeeID, tbl.EmployeeName

尝试使用以下查询。

      SELECT EmployeeName
           ,SUM (weeklyHours)Total_weekly_hours
           ,SUM (pointsrewarded) TotalPoints 
       FROM YourTable 
     Group By EmployeeName 

这是一个简单的GROUP BY。您希望按姓名对员工进行分组,因此请在 GROUP BY 语句中指定员工​​姓名。然后 select 您希望如何对其他列进行分组。在这种情况下,您想 SUM 他们:

SELECT employeename, 
SUM(weeklyhours) as total_weekly_hours, 
SUM(points_rewarded) as total_points
GROUP BY employeename

请注意,您还可以使用 AVGMINMAX 代替 SUM,具体取决于您要查找的内容。 AS 子句指定要在输出中调用特定列的内容。

此处测试:http://sqlfiddle.com/#!9/2a96f