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 从我的表格中选择除前20行以外的所有行_Mysql - Fatal编程技术网

Mysql 从我的表格中选择除前20行以外的所有行

Mysql 从我的表格中选择除前20行以外的所有行,mysql,Mysql,我想从表中选择除前20行以外的所有行。怎么可能呢?总行数不是静态的 SELECT statistics_id,title, user_name FROM ( SELECT statistics_id,title, user_name FROM statistics ORDER BY statistics_id DESC LIMIT(select count(*)from statistics )-20 ) sub ORDER BY access_statistics_id A

我想从表中选择除前20行以外的所有行。怎么可能呢?总行数不是静态的

SELECT statistics_id,title, user_name FROM (
    SELECT statistics_id,title, user_name FROM statistics ORDER BY statistics_id DESC 
    LIMIT(select count(*)from statistics )-20 
) sub
ORDER BY access_statistics_id ASC

我知道“LIMITselect count*from statistics-20”不是正确的方法。请提供帮助。

尝试将偏移选项用于限制语法。有关限制语法的更多信息,请访问

文件说明如下:

要检索从某个偏移量到结果集末尾的所有行,可以对第二个参数使用一些较大的数字。此语句检索从第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;
所以你可以用

LIMIT 20, veryLargeNumber
试试这个

   DECLARE v_max bigint unsigned default ~0;
   SELECT statistics_id,title, user_name 
   FROM statistics 
   LIMIT 20, v_max;

在编写select查询之后,您只需包括

LIMIT 21,100;
21偏移量,即要从哪一行开始选择和

100-是限制[您可以根据需要设置]

您实际需要:

SELECT 
  statistics_id, title, user_name 
FROM statistics 
ORDER BY 
  statistics_id ASC
LIMIT 20, 18446744073709551615;
依照

检索从某个偏移量到结果末尾的所有行 设置时,可以使用较大的数字作为第二个参数。这 语句检索从第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;
从tbl LIMIT 9518446744073709551615中选择*


如果您的表增长很快,那么选择除前20行之外的所有行不是一个好主意。在这种情况下,您应该批处理查询,并一次处理一部分条目,例如:


从tbl LIMIT 20120中选择*

阅读关于限制函数=\为什么选择否决票?我刚刚复制并粘贴了MySQL文档@OP:你在2014-10-14 06:35:41Z接受了这个答案,而在2016-01-15 09:35:52Z接受了同样的答案?你发现它有什么问题吗???