我想查询我的表,并指定一些偏移量,以获得我找到的表之前和之后的行.
例如,获取此结果集(指定偏移量为2):
- 数据1
- 数据2-->;偏移量:2-->;因此此行也会添加到我的结果集中
- data 3——offset:2——所以这一行也被添加到我的结果集中>>
- 数据4——此行满足我的查询条件>
- 数据5-->;偏移量:2-->;因此此行也会添加到我的结果集中
- 数据6-->;偏移量:2-->;因此此行也会添加到我的结果集中
- 数据7
我已经try 了滞后/领先,但这只给了我获得下一行的一列的可能性,我还需要一个基本上将偏移行添加到结果集的功能.
Edit: 我的样本数据如下所示: 我得到的数据存储了一个cardboard_number,时间戳(说明当cardboard被扫描)和一个productionline_number.所以基本上在我的表格中,我有以下列:
- ID(自动递增,int)
- Cardboard_Number(varchar)
- 加入时间:清华2007年01月25日下午3:33
- ProductionLine_Number(int)
基本上,我想搜索一个Cardboard_Number,并在该数字之前和之后获得指定的偏移量.
更新一下前面的例子:
- 2"1234"2024-03-23 17:01:01 1
- 4"123"2024-03-24 17:01:01 1
- 5"135"2024-03-25 09:01:01 2
- 7"234"2024-03-25 11:01:01 1
- 9"134"2024-03-25 13:01:01 2
- 10"12345"2024-03-25 14:01:01 1
- 11"12346"2024-03-25 17:01:01 2
因此,当指定偏移量1并搜索Cardboard_Number "134"时,我希望得到ID为5、9和11的行,因为我想知道在搜索的per ProductionLine_Number之前和之后扫描哪个cardboard_number
Edit 2: 在某些情况下,Cardboard_Number可以在一个ProductionLine中出现多次,也可以在其他ProductionLine中出现.
我制作了一个dbfiddle,上面展示了一些复制的纸板.在这个小提琴中,当搜索‘wdl-005943998-1’(偏移量为1)时,我希望第1行的ID为2、4、5、6、7,第2行的ID为9、10、11、12,最终得到2、4、5、6、7、9、10、11、12的结果集.
总而言之,结果集应该包含具有搜索编号的所有纸板,以及在使用该纸板的行上在搜索的纸板之前和之后扫描的另外的"偏移行".