这可能是一个非常基本的问题,但我正在努力只根据行范围排列表中的特定行。
假设我有一个表ABC,我已经填充了1000行。现在我想要一个SQL查询,以便我可以获取前100行(即1到100的范围)然后下一个100(101到200),依此类推,直到我完成所有行。这应该在不查询/过滤表的id或任何列id的情况下完成。
我无法解决这个问题,因为我只是在查询WHERE子句中的特定列时接受过培训,所以如果有人可以提供帮助,我将不胜感激
答案 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