从第5行开始从表中获取记录

时间:2015-10-03 05:22:54

标签: mysql sql

我有一个mysql数据库,我想从第5行开始获取记录。这就是我现在唱歌的目的

SELECT * FROM categories WHERE status = 1 
limit 5 18446744073709551615 ORDER BY sortOrder ASC

但它给我一个错误

执行数据库查询时出错。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '18446744073709551615 

 ORDER BY 

 sortOrder ' at line 6

此外,我不确定这是否是正确的做法

由于

3 个答案:

答案 0 :(得分:1)

您需要OFFSET

示例:

SELECT something FROM table LIMIT $limit OFFSET $offset;

//or alternatively
SELECT something FROM table LIMIT $offset,$limit;

关于你的错误:

删除号码 - 首先是什么?

你的陈述应该是:

SELECT * FROM categories WHERE status = 1 
OFFSET 5 ORDER BY sortOrder ASC

答案 1 :(得分:0)

您在SQL查询中错过了逗号, ..只需将其更改为以下内容:

SELECT * FROM categories WHERE status = 1 
limit 5, 18446744073709551615 ORDER BY sortOrder ASC
       ↑

说明:带有两个参数的LIMIT逗号分隔)将第一个参数作为OFFSET,第二个作为要返回的最大行数。

或者,如果您只想获取特定记录中的所有行,则可以使用OFFSET关键字。以下内容将从第5行开始获取行。

SELECT * FROM categories WHERE status = 1
OFFSET 5 ORDER BY sortOrder ASC

答案 2 :(得分:0)

也许您需要重新排列指令序列。 确保您的Categories表中存在'sortOrder'列。

以下查询应该有效,

    Select  * from Categories Where status =1
    ORDER BY sortOrder ASC
    Limit 4, 999980090909

如果要从5开始获取行,那么您的Limit值应该从4开始,第二个值可以是更大的数字。 希望这能帮到你!