如何在 MySQL 查询中从 10 循环到 1?

How to wrap around from 10 to 1 in MySQL query?

我总共有 10 名员工,我必须在我的页面上显示接下来的 3 名员工的详细信息,我尝试了以下代码。

SELECT * 
  FROM employee
 where empid > 1 
   and is_active = 1 
 order 
    by empid ASC 
 limit 0 , 3

我得到正确的输出 2、3、4。

现在我的问题是,如果 empid 是 10,那么我得到的是空行。是否可以在 empid 为 10 时显示 1,2,3 或者如果 empid 为 8 则显示 9,10,1

我的意思是我希望它从 10 to 1 开始环绕。

empid | Name      | Position   | Office   | Age
  1   | Airi      | Accountant | Tokyo    | 33
  2   | Angelica  | Officer    | London   | 47
  3   | Ashton    | Technical  | Francisco| 66
  4   | Bradley   | Software   | London   | 41
  5   | Brenden   | Engineer   | Francisco| 28
  6   | qodjf     | Accountant | Tokyo    | 33
  7   | Angelica  | Officer    | New York | 50
  8   | Ashton    | Technical  | Francisco| 30
  9   | zxysz     | Software   | London   | 50
  10  | Brenden   | Engineer   | Francisco| 28

我试图在 db-fiddle 中创建一个 table,但出现错误。我正在使用 PHPMyAdmin。所以我在这里添加了table。

ORDER BY子句中移动条件empid > ? DESC

SELECT * 
FROM employee 
WHERE is_active = 1
ORDER BY empid > ? DESC, empid LIMIT 3

参见demo