mysql - 从第一条记录返回记录,得到需要返回的记录数

标签 mysql

好吧,我什至不知道如何在标题中解释这一点,但这就是我想要的。

首先我有5条记录

id | name  |
------------
1  | ringo |
------------
2  | nashi |
------------
3  | momo  |
------------
4  | manga |
------------
5  | tokyo |

现在我在开始查询的行上生成一个随机数。例如,我得到一个随机数 4,所以我将得到第 4 行和第 5 行。但我的问题是每次查询都需要 4 条记录。所以这意味着我将返回到第一条记录并获取前两行。

如果我的查询结果缺少我想要的记录数,是否有任何可能的方法可以返回到第一行?

这是一个相关问题 Select from nth record and so on in MySQL这显示了我到目前为止所做的事情。

最佳答案

如果您首先按大于主元id 的记录对表进行排序,然后按id,您只需要LIMIT 结果集到前四条记录:

SELECT * FROM my_table ORDER BY id >= 4 DESC, id LIMIT 4

查看sqlfiddle .

关于mysql - 从第一条记录返回记录,得到需要返回的记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742005/

相关文章:

java - 从 Java 中检索 MYSQL 数据库结构信息

MySQL 具有不同结果长度的多个选择查询

php - XML 或 SQL - 仅频繁读取数据

php - 传递给 Controller ​​的对象数组, View 并将它们作为列表显示在 View 中

php - 使用逗号分隔值更新数据库 mysql

php - 如何在不使用 INSERT IGNORE 的情况下检查 mysql 中是否存在行?

mysql - 在电子商务网站中处理产品变体

php - 在 select 语句中确定字符串的优先级

php - PHP空值和Mysql数据库字段空值有什么区别

php - PDO 准备语句不会用数据替换占位符