*奇想西卡*

« [玩樂] 威秀金鑽廳 明日邊界 + 洋蔥 | Main | [手紮] 後勁溪之美 »

27 六月, 2014

[SQL] 抓出連續上班超過八天者

網路服務 — 作者 segaa @ 14:11
1. 先整理出 工號 (Code )& 出勤日 (DT)
 
2.  SQL  分三段  
 a. 先抓出每個工號連續上班的記錄
 b. 抓出每次連續上班的天數
 c. 篩選上班連續八天者 ( 法律規定 上班七天一定要休假一天 ) 
 
 
 
 
with t
as(
select 
px=DATEADD(DD,-ROW_NUMBER()over(partition by Code 
     order by DT asc),DT),
Code,DT
from Login_V
),
m as(

select Code,MIN(DT) as StartTime,MAX(DT) as EndTime
from t
group by px,Code

)
select Code,DATEDIFF(DD,StartTime,EndTime)+1 as Days 
from m
where DATEDIFF(DD,StartTime,EndTime)>=8

« [玩樂] 威秀金鑽廳 明日邊界 + 洋蔥 | Main | [手紮] 後勁溪之美 »

test from facebook

迴響

Powered by Segaa