从MySQL中的一个简单的SQL查询,我怎么才能得到5个第一个结果? 然后,我怎样才能获得接下来的5个结果?
例如(伪代码):
select * from (select * from some_table) where <first 5 results>
select * from (select * from some_table) where <second 5 results (6-10)>
答案 0 :(得分:3)
您应该能够在声明的最后以LIMIT 5
获得前5个结果:
SELECT * FROM some_table LIMIT 5;
然后你可以通过这样的查询获得结果6-10:
SELECT * FROM some_table LIMIT 5 OFFSET 5;
作为另一个例子,您可以使用如下查询获得结果6-15:
SELECT * FROM some_table LIMIT 10 OFFSET 5;
请注意,如果您不添加ORDER BY
语句,则会以任意顺序检索结果。因此,在没有LIMIT
的情况下使用OFFSET
和ORDER BY
并没有用。
答案 1 :(得分:0)
您可以通过建立SQL联合
来实现此目的select * from (select * from some_table) where <first 5 results>
UNION ALL
select * from (select * from some_table) where <second 5 results (6-10)>