MySQL:在SELECT语句中获取循环记录

时间:2015-07-06 15:29:33

标签: mysql database

我有一个表ALL_DEGREES,其中有一列DEGREE被编入索引。

DEGREE
33
67
101
110
174
182
189
213
257
258
299

正如我们所知,该列可以具有最大值360.现在,如果我知道特定度数为257,我想要获取包含257和接下来7度的行,即257,258,299,33,67,101,110

有没有办法编写SELECT查询来执行此操作?

2 个答案:

答案 0 :(得分:6)

您可以使用:

SELECT DEGREE
FROM ALL_DEGREES
ORDER BY CASE WHEN DEGREE >= 257 THEN 0 ELSE 1 END,
         DEGREE
LIMIT 8

这实现了记录的某种循环排序

Demo here

答案 1 :(得分:2)

这对你有用吗<​​/ p>

SELECT * FROM all_degrees
where degree >= 257
union
SELECT * FROM all_degrees
LIMIT 8;