问一个SQL的查询

favorit 2004-06-09 10:37:15
表单test中有ID和Port两个字段,想查找这样的记录:后一条记录的ID和Port均比前一条记录少1。其中ID是记录的序号。
...全文
135 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
favorit 2004-06-12
  • 打赏
  • 举报
回复
up一下
zheninchangjiang 2004-06-09
  • 打赏
  • 举报
回复
少1,越看越不明白
pignet 2004-06-09
  • 打赏
  • 举报
回复


declare @Table table( [ID] int primary key, SRC int, DST int, Port int )

insert into @Table
select 1 , 12 , 21 , 36
union select 4 , 73 , 36 , 11
union select 5 , 21 , 54 , 12
union select 6 , 21 , 54 , 13
union select 7 , 21 , 54 , 14


select distinct C.* from @Table C
inner join ( select A.[ID] as ID1, B.[ID] as ID2 from @Table A inner join @Table B on A.[ID] +1 = B.[ID] and A.Port + 1 = B.Port ) as D
on C.[ID] = D.ID1 or C.[ID] = D.ID2
favorit 2004-06-09
  • 打赏
  • 举报
回复
假设一条记录是这样的
ID SRC DST Port
1 12 21 36
想查询这样的两条记录
4 73 36 11
5 21 54 12
yesyesyes 2004-06-09
  • 打赏
  • 举报
回复
看样子要用游标
skyboy0720 2004-06-09
  • 打赏
  • 举报
回复
ID是序号,增长的?!那如果是,怎么可能有你说的记录!
如果理解错误,还是把数据贴出来,比较直观些!

34,838

社区成员

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

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