我想選擇與我的表中的id列表相匹配的所有行,其中包括之前的2行和之後的2行。按ID排序。爲ID列表包含多個周圍的行(按ID排序)
ID | Value
---+----------
1 | Value #1
2 | Value #2
3 | Value #3
4 | Value #4
5 | Value #5
6 | Value #6
7 | Value #7
8 | Value #8
9 | Value #9
10 | Value #10
11 | Value #11
12 | Value #12
13 | Value #13
14 | Value #14
17 | Value #17
19 | Value #19
20 | Value #20
28 | Value #28
29 | Value #29
30 | Value #30
現在我已經查詢:
SELECT `ID`, `Value` FROM `table` WHERE `ID` in (5, 14) ORDER BY `ID`;
如何延長它也返回編號3,4,6,7日和12,13,17,19?我不知道確切的ID。表格中可能存在空白。如果5不匹配,則不應退回3,4,6和7。
我已經閱讀了有關「周圍行」的所有其他問題。但他們都處理一個結果,應該包括周圍的行。
如果例如5個不在表格中,但是6和7是什麼?你還想要退回嗎? – Mureinik
您可以爲每行分配一個等級(有效消除間隙需求),然後連接兩個等級內的行 - 螺母mureiniks問題有效;如果目標行丟失,您是否還想要返回相鄰行 – Strawberry
如果5不匹配,則不應返回3,4,6和7。 – SuperNova