22,207
社区成员
发帖
与我相关
我的任务
分享
select A.A0188,
A.OUT_ADDRESS,
MIN(RIQi) as start_date,
MAX(RIQi) as end_date,
cf
from
(
select A.A0188,
A.RIQi,
A.OUT_ADDRESS,
ROW_NUMBER() OVER(PARTITION by A0188 ORDER BY riqi) as px,
ROW_NUMBER() OVER(PARTITION by A0188 ORDER BY riqi)-ROW_NUMBER() OVER(PARTITION by A0188,OUT_ADDRESS ORDER BY riqi) as cf
from
(
select A0188,
LEFT(CONVERT(VARCHAR(10),duty_date,112),8) as RiQi,
OUT_ADDRESS
from K_Day kd with (nolock)
where DATEDIFF(DD,kd.duty_date,'2017-11-25')<=0
AND DATEDIFF(DD,kd.duty_date,'2017-12-24')>=0
AND (isnull(OUT_TIME1,0)+isnull(OUT_TIME2,0)+isnull(OUT_TIME3,0))>=0.1
AND OUT_ADDRESS IS NOT NULL
group by a0188,LEFT(CONVERT(VARCHAR(10),duty_date,112),8),OUT_ADDRESS
) A
) as A
group by A.A0188,A.OUT_ADDRESS,cf