如何根据Tsql中的日期分组记录?

时间:2015-09-10 12:11:56

标签: sql sql-server tsql

我有一张表,每天存储每个员工的In_time和Out_Time。我想计算每个员工每周或每个月的工作时间?我该怎么做?

表格结构:

               **Empid** :    1     ;    2     ;  3
               **Pdate** : 7 aug 15 ; 8 aug 15 ; 9 aug 15
               **P_In**  : 8:48:21  ; 8:50:10  ; 8:37:00
               **P_Out** : 15:07:21  ; 16:45:18  ; 16:47:10

等完整的一年。 Empid - varchar Pdate,P_In,P-Out - 日期时间

现在我想计算每个每周的每个员工的总工作时间,每月或在给定的日期范围内。 请有人帮助如何通过'来应用' 群组在这种情况下。

我做了什么: 存在单独的列,用于存储Pin和Pout之间的差异;说它叫做Workhrs。 所以,Workhrs = Pout - Pin

SELECT emp_name,emp_id,minutes_worked = SUM(DATEDIFF(MINUTE,' 0:00:00',WorkHRs))来自dailydata group by Emp_Name,Emp_ID

以上查询将为我提供每位员工工作总分钟的数据。但是我想要每周和每月工作。我该怎么做?

0 个答案:

没有答案