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