Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 有没有办法指定SELECT数据库查询的起点?_Mysql_Sql_Database - Fatal编程技术网

Mysql 有没有办法指定SELECT数据库查询的起点?

Mysql 有没有办法指定SELECT数据库查询的起点?,mysql,sql,database,Mysql,Sql,Database,我了解LIMIT的工作原理,但我想知道是否有办法在LIMIT之前设置数据库查询的起点。这可能吗?我这样说有意义吗?LIMIT接受两个值,起点和持续时间 更新1 我将为您演示如何从中学习 SELECT * FROM `your_table` LIMIT 0, 10 这将显示数据库中的前10个结果。不确定我是否理解正确,但我会试一试。您可能希望研究在查询中使用变量绑定,这样就可以通过变量设置限制。下面是使用PDO的代码示例: class englishTable { private

我了解
LIMIT
的工作原理,但我想知道是否有办法在
LIMIT
之前设置数据库查询的起点。这可能吗?我这样说有意义吗?

LIMIT
接受两个值,起点和持续时间

更新1


我将为您演示如何从中学习

SELECT * FROM `your_table` LIMIT 0, 10 

这将显示数据库中的前10个结果。

不确定我是否理解正确,但我会试一试。您可能希望研究在查询中使用变量绑定,这样就可以通过变量设置限制。下面是使用PDO的代码示例:

class englishTable {
  private $selectAllWithLimit;

  public function __construct($db) {
    $this->selectWithLimit = $db->prepare('SELECT id, english, french FROM english LIMIT :start, :limit');

  public function selectWithLimit($start, $limit) {
    $this->selectWithLimit->bindValue(':start', $start, PDO::PARAM_INT );
    $this->selectWithLimit->bindValue(':limit', $limit, PDO::PARAM_INT );
    $this->selectWithLimit->execute();
    return $this->selectWithLimit->fetchAll();
  }
}

$start = 5;
$limit = 7;
$words = $englishTable->selectWithLimit($start, $limit);
希望这有帮助,新年快乐的朋友

SELECT * FROM MyTable LIMIT [startpoint], [row_count]
其中起始点是可选的,默认为第一行。指定起始点将跳过记录n次,并在[startpoint]开始计数

SELECT * FROM MyTable LIMIT 5, 15
将显示从第5条记录开始的15条记录

SELECT*FROM MyTable LIMIT 7
相当于
SELECT*FROM MyTable LIMIT 0,7

SELECT * FROM `table` LIMIT [offset], [count]
假设您有4个页面(1、2、3和4),并且希望每页显示10个结果,您可以这样做:

第1页(0-10)

第2页(10-20)

第3页(20-30)

第4页(30-40)


@wordman你能解释清楚吗……好吧,我想在表中指定一个开始计数的起点……这有什么意义吗?@wordman
告诉查询在到达极限之前从哪里开始选择
为什么?最好在问题中加入示例记录和期望的结果,以使读者更清楚。@wordman举个例子有助于理解实际情况question@JW,我明白。我想问的是这是否可能。换句话说,我们可以告诉查询从第5行开始,然后从那里选择所有等于
red
的记录,并将结果限制为27条记录吗?你说的持续时间是什么意思?我很感激!然而,我想问的是,在我们达到
极限之前,是否可以设定起点?我意识到我不明白。Limit子句接受1或2个参数。如果你在一个变量中设置了这个(通常是这样),并且在执行sql之前设置了变量,那么你会不同意在调用限制之前设置限制参数吗?这篇文章是探索性的,但它让我找到了两个解决方案,其中一个被标记为上面的答案。我要求的是一些不同的东西,这显然造成了很多混乱,但它无意中为我带来了两种解决方案。非常感谢!这很有趣,几乎正是我之前想要的。我需要一些关于
page\u 1>
事情的澄清。对不起,那只是为了显示“我们在哪一页”。我把它编辑得更清楚了。好吧……这更有意义……让我仔细想想……谢谢!
SELECT * FROM `table` LIMIT  0, 10
SELECT * FROM `table` LIMIT 10, 10
SELECT * FROM `table` LIMIT 20, 10 
SELECT * FROM `table` LIMIT 30, 10