怎么查出有丢失的数据,急急急!!

SoftwKLC 2007-02-07 09:21:45
大家好
问一个SQL的问题了我有一个表名为:table里面有以下数据:
peono data count
001 2007-01-01 08:00:10 1
001 2007-01-01 08:10:10 2
001 2007-01-01 08:20:10 3
001 2007-01-01 08:30:10 4
002 2007-01-01 08:35:10 1
001 2007-01-01 08:40:10 5
002 2007-01-01 08:45:10 2
002 2007-01-01 08:47:10 3
002 2007-01-01 08:48:10 4 (此行丢失)
002 2007-01-01 08:55:10 5
....................
怎么查出在2007-01-01----2007-01-03 这段时间内有丢失count的工号
(出现1 3没有count为2的那一条则算丢失2,
出现3 5没有count为4的那一条则算丢失4)
我想要得出的结果:在以上table查询
peono
002
怎么查出啊?请帮忙,急急!!!!!!!!
...全文
218 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftwKLC 2007-09-20
  • 打赏
  • 举报
回复
咋了...这里还有贴没结
都给忘记了,好久没有看自己的贴了
抱歉,现在结......
SoftwKLC 2007-02-07
  • 打赏
  • 举报
回复
十分感谢各位,谢谢!!!!!!!
撸大湿 2007-02-07
  • 打赏
  • 举报
回复
/*
create table tb070207001(peono varchar(3),data datetime,count int)
insert into tb070207001
select '001','2007-01-01 08:00:10', 1
union all select '001','2007-01-01 08:10:10', 2
union all select '001','2007-01-01 08:20:10', 3
union all select '001','2007-01-01 08:30:10', 4
union all select '002','2007-01-01 08:35:10', 1
union all select '001','2007-01-01 08:40:10', 5
union all select '002','2007-01-01 08:45:10', 2
union all select '002','2007-01-01 08:47:10', 3
union all select '002','2007-01-01 08:55:10', 5
*/
select x.peono from (
select a.peono from tb070207001 a
where exists(select * from tb070207001 b where b.count-1=a.count and b.peono=a.peono)
or exists(select * from tb070207001 c where c.count+1=a.count and c.peono=a.peono)
)x group by peono having count(x.peono)<(select count(peono) from tb070207001 where peono=x.peono group by peono)


peono
-----
002

(所影响的行数为 1 行)

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧