php - 如何从表中检索从第 n 行开始的所有行

标签 php mysqli

我想检索表中从第 n 行开始的所有行。

例如,如果表有20行,n=9,我想检索所有元素,其中检索到的元素的第一部分是从9到20的元素,第二部分是表格 1 至 8。

[9,10,...,19,20,1,2,...,7,8]

起初,我认为我可以使用 2 个查询来使用 LIMITOFFSET 来完成此操作。

//retrieve the 2nd group
SELECT * FROM Tname WHERE 1 LIMIT (Tsize-n+1) OFFSET (n)
//retrieve the 1st group
SELECT * FROM Tname WHERE 1 LIMIT (n-1)

在检索元素之前和之后计算 Tsize-n+1nn-1 时,我将两个数组组合起来。

但我不认为这是最佳解决方案(我不想使用多个查询。并且计算表中的元素数量很耗时)。

有更好的方法吗?

最佳答案

我有一个简单的想法。只需选择所有行,然后读取前 n 行,最后将剩余行读取到最后。就这样!

关于php - 如何从表中检索从第 n 行开始的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169194/

相关文章:

php - SQL查询优化转换

php -/登录 Laravel 中的 404 错误

php - 在 Magento 观察器中获取 POST 数据

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 什么时候应该关闭 PHP 中的数据库连接?

php - 如何从 mysql/php 获取树形 View 中的记录

php - 在 cakephp3.0 内部错误的情况下强制用户注销

php - PHP/MySQL与数据库的连接

php - 访问后出现 undefined variable /空属性错误

php - 如何在 Mac OS X Snow Leopard 上启用 mysqli?