表行范围的mysql查询

时间:2013-05-22 19:06:02

标签: mysql

这可能是一个非常基本的问题,但我正在努力只根据行范围排列表中的特定行。

假设我有一个表ABC,我已经填充了1000行。现在我想要一个SQL查询,以便我可以获取前100行(即1到100的范围)然后下一个100(101到200),依此类推,直到我完成所有行。这应该在不查询/过滤表的id或任何列id的情况下完成。

我无法解决这个问题,因为我只是在查询WHERE子句中的特定列时接受过培训,所以如果有人可以提供帮助,我将不胜感激

2 个答案:

答案 0 :(得分:11)

您必须在LIMIT查询中使用SELECT子句。 MySQL允许您为子句设置两个参数,offset(第一个参数)和要获取的行数(第二个参数)。

SELECT * FROM `ABC` LIMIT 0, 100
SELECT * FROM `ABC` LIMIT 100, 100
SELECT * FROM `ABC` LIMIT 200, 100
-- etc...

但是,除非使用ORDER BY子句按一个或多个特定列排序,否则无法保证这些行的顺序。

在此处详细了解SELECT语句:http://dev.mysql.com/doc/refman/5.6/en/select.html

答案 1 :(得分:3)

你可以在mysql中使用 limit

限制接受2个参数。

这将返回1-10条记录。

select * from abcd limit 10

这将返回10-20条记录。

select * from abcd limit 10,10

这将返回20-30条记录。

select * from abcd limit 20,10