是否可以跳过X个第一行,并在一个查询中选择所有其他行?像那样:
abc def ghi jkl mno ========= start selecting all from here ========= pqr stu vwx yz
它将选择:pqr,stu,vwx,yz
我尝试使用LIMIT和OFFSET完成此操作,但是问题是表是动态的,而且我不知道应该输入哪个LIMIT(我不知道表中有多少行)。
如果只需要最后N行,请尝试以下操作:
SELECT field1, field2 FROM table ORDER BY some_column DESC LIMIT N;
这会根据的顺序为您提供最后几条记录some_column。
some_column
您可以使用自动递增的主键(希望有一个主键)来确定行的顺序(如果无法使用其他任何方法)。
相反,如果您想跳过前X行(在问题中指出),并获取所有行直到末尾,请尝试以下操作:
SELECT field1, field2 FROM table ORDER BY some_column ASC LIMIT 18446744073709551615 OFFSET X;
对于后一种情况,请参见:MySQL偏移无限行
但是,如果您 确实 有一个自动递增的主键,并且它与您要选择的行相对应,我建议:
SELECT field1, field2 FROM table WHERE id > X;