MySQL select语句以循环方式返回结果

标签 mysql sql select

我正在使用一款应用程序,通过滑动您可以一张一张地看到卡片。向左和向右滑动都是允许的。如果用户向右滑动,他将看到下一张可用的卡片。如果他向左滑动,他会看到上一张卡片。

卡片详细信息存储在 MySQL 表“Cards”中,并具有唯一的 ID,假设“CardID”从数字 1.000.000 开始,依此类推。假设我当前已将 500 张卡添加到“卡”表中,因此最后存储的卡 ID 为 1.000.500。我想创建一个程序,根据用户刷卡的方向,一次向用户发送 20 张卡片。如果向左滑动,程序将发送前 20 条记录,依此类推。

现在认为用户不断向左滑动并请求编号为 1.000.009 及以下的先前记录。我想编写一个 select 语句,它将获取并为用户提供表中剩下的 9 行和底部的 11 行。这将是 CardID 1.000.489 到 1.000.500 的记录,因此当用户刷卡时,当他刷卡没有 1.000.000(第一个)时,他将绕圈看到 1.000.500,反之亦然

提前谢谢

最佳答案

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table (id SERIAL PRIMARY KEY);

INSERT INTO my_table VALUES 
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8),
(9);

SELECT * FROM my_table ORDER BY id > 5 DESC, id;
+----+
| id |
+----+
|  6 |
|  7 |
|  8 |
|  9 |
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
+----+

关于MySQL select语句以循环方式返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60040212/

相关文章:

php - 通过 PHP 从 mySQL 将列中的不同值获取到数组中的问题

sql - 在 SQL 中连接地址字段

sql - 您可以检测到INSERT-EXEC方案吗?

vb.net - 查询表达式中的语法错误(逗号), header 带有逗号

PHP 和 MySQL - Select 语句未返回正确的顺序

c++ - 尝试连接到 google-cloud 中的 MariaDB 数据库但无法连接不显示任何错误报告

mysql - 将未知数量的数据显示为列名

mysql - 在 MySQL 中选择 INTO

mysql - 查找 MySQL 数据库中两列组合的重复项

mysql - 如何检查启用/禁用键是否有效?