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

Atu*_*tul 3 mysql database

我有一个表ALL_DEGREES有单列的表DEGREE被索引.

DEGREE
33
67
101
110
174
182
189
213
257
258
299
Run Code Online (Sandbox Code Playgroud)

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

有没有办法写SELECT查询来做到这一点?

Gio*_*sos 6

您可以使用:

SELECT DEGREE
FROM ALL_DEGREES
ORDER BY CASE WHEN DEGREE >= 257 THEN 0 ELSE 1 END,
         DEGREE
LIMIT 8
Run Code Online (Sandbox Code Playgroud)

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

在这里演示