数据库:SQL分页?

时间:2009-10-09 17:55:23

标签: sql mysql database

我正在使用MySQL。

我想限制从数据库中提取的行数。我有一个SQL语句,它返回10,000条与搜索相关的记录。

SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA

我知道如何使用TOP语句返回TOP x获取的行数,但是如何在搜索结果的中间获取行数,例如,行50-100?

5 个答案:

答案 0 :(得分:1)

MySQL的limit clause使这很容易:

SELECT cols
FROM table
LIMIT offset, rowcount

在你的情况下:

LIMIT 49, 50 -- skip rows 0-49, grab the next 50

答案 1 :(得分:0)

做类似的事情:

SELECT colA, colB, colC FROM xyzTable WHERE ... ORDER BY colA LIMIT 30 , 40

30是您想要开始的号码,40现在是您想要看到的许多项目。

然后您可以随意增加这些值。

答案 2 :(得分:0)

使用LIMIT

SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 50, 50
  

可以使用LIMIT子句   约束返回的行数   通过SELECT语句。 LIMIT需要   一个或两个数字参数

答案 3 :(得分:0)

SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA
LIMIT 10, 5

LIMIT 10, 5定义结果范围(这将返回结果11,12,13,14,15)。

答案 4 :(得分:0)

SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA LIMIT 49,50;

LIMIT行偏移量,行数 第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数...