我有一个表ALL_VALUES
,其中包含已编入索引的单列VALUE
。
VALUE
3
6
10
11
17
18
18
21
25
25
29
现在,如果我知道特定值为17,我想获取包含17和顶部和底部相邻3行的行,即6,10,11,17,18,18,21。
如何为此编写SELECT
查询。
答案 0 :(得分:2)
抱歉,我已经习惯了MSSQL。但我认为这可能有用:
Select t1.value from((SELECT value
FROM ALL_VALUES
WHERE value <= 17
ORDER BY value DESC
LIMIT 4)
UNION ALL
(SELECT value
FROM ALL_VALUES
WHERE value > 17
LIMIT 3)) t1 order by value ASC;