注册 登录
编程论坛 SQL Server论坛

如何实现对连续数据的筛选

zxandlsp 发布于 2007-04-14 15:31, 974 次点击

如何实现对连续数据的筛选

比如表1:Work1

ID Day work
1 1 0
1 2 1
1 3 1
1 4 1
1 5 1
1 6 1
1 7 0


表2:Work2

ID Day work
2 1 1
2 2 0
2 3 1
2 4 1
2 5 1
2 6 1
2 7 0

ID:表示员工代号 Day;表示星期数 Work:表示工作

如果Work为1时为真表示上工,Work为0时为假表示缺工

如果我想查询一周内连续上工5天的人应该如何做呢?

请注意是连续上工5天的员工

请各位大虾帮忙想个办法

上面是示范 各位为方便的话也可以把两个表合在一起

3 回复
#2
songyuyu2007-04-14 15:46
一周内连续上工
不会
#3
棉花糖ONE2007-04-14 15:51
select id from table where work=1 group by id having (count(1)=5 and max([day])-min([day])=4) or(count(1)>5 and max([day])-min([day])>=4)  -- 分连续五天和连续5天以上考虑
#4
zxandlsp2007-04-14 16:10
问题解决了! 谢谢3楼的大虾!
1