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

标签 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 查询来执行此操作?

最佳答案

您可以使用:

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

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

Demo here

关于MySQL:在 SELECT 语句中获取循环记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249786/

相关文章:

mysql - 基准的选择和更新查询数量?

mysql - SQL查询员工最新等级,每个员工有多条具有相同id的记录

mysql - SQL:列出没有任何事务的行

带有左连接和 having 子句的 MySQL 查询

php - 如何在 Laravel 4 的 Eloquent ORM 中使用 IN 或 Nesting of queires

mysql - 数据库表可以排序以使 NULL 值出现在底部吗?

mysql - ActiveRecord::StatementInvalid in UsersController#create (Insert 不包括新添加的列)

c++ - 使用 C++ 将多个值插入 mysql 数据库表时出现问题

mysql - phpMyAdmin wampserver 2.2 中多个 INSERT 的执行时间

database - ER图,这是允许的吗?