Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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查询返回第n条记录_Mysql - Fatal编程技术网

从MySQL查询返回第n条记录

从MySQL查询返回第n条记录,mysql,Mysql,我希望根据ID递增的查询返回MySQL查询中的第二条、第三条或第四条记录 问题是,我不知道ID,只知道它是查询中的第三行。从表中按ID顺序选择*限制n-1,1 它表示返回一条从记录n开始的记录。使用limit子句将“limit 3,1”添加到查询的末尾,以仅选择第三行 这里有一些更多的信息:在编辑之前,接受的答案错了1,因为偏移量是零索引的 从: 对于两个参数,第一个参数指定 要返回的第一行,第二行指定 要返回的行。初始行的偏移量为0而不是1: 从tbl限制5,10中选择*;检索第6-15行 所

我希望根据ID递增的查询返回MySQL查询中的第二条、第三条或第四条记录

问题是,我不知道ID,只知道它是查询中的第三行。

从表中按ID顺序选择*限制n-1,1


它表示返回一条从记录n开始的记录。

使用limit子句将“limit 3,1”添加到查询的末尾,以仅选择第三行


这里有一些更多的信息:

在编辑之前,接受的答案错了1,因为偏移量是零索引的

从:

对于两个参数,第一个参数指定 要返回的第一行,第二行指定 要返回的行。初始行的偏移量为0而不是1:

从tbl限制5,10中选择*;检索第6-15行

所以正确的查询应该是

SELECT * FROM table ORDER BY ID LIMIT n-1,1

例如,限制10,5,它将跳过第一个数字指示的记录数,然后显示第二个数字指示的记录数。换句话说,它是极限跳跃,显示

SELECT * FROM tblTesting LIMIT 3, 6
将从第4条记录显示到第9条记录,共显示6条记录

如果要显示降序,请使用DESC


如果您使用PHP处理记录,则可以使用PHP手册中的表达式:

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

请阅读PHP手册中的更多内容:

MYSQL:偏移量始终从零开始

偏移值表示不从偏移值开始

示例:记录1、2、3、4、5

偏移量1表示返回第二个值,偏移量2表示返回第三个值,依此类推


它将从第二条记录返回3条记录

我已将其更改为n,1到n-1,1,因为偏移量从0开始,而不是从1开始。因为这是一个可接受的答案,所以请向用户提供正确的详细信息。这将是限制2,1,因为它的索引为0。对答案的更好解释至少在这种情况下对我更有意义。
<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>
SELECT table_column FROM Table GROUP BY table_column DESC LIMIT 1 OFFSET 1;
SELECT table_column FROM Table GROUP BY table_column DESC LIMIT 3 OFFSET 1;