【发布时间】:2009-10-10 02:03:07
【问题描述】:
我正在使用 MySQL。
我想限制从数据库中获取的行数。我有一条 SQL 语句,它返回 10,000 条与搜索相关的记录。
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA
我知道如何使用 TOP 语句返回提取的 TOP x 行数,但是如何提取搜索结果中间的行,例如第 50-100 行?
【问题讨论】:
我正在使用 MySQL。
我想限制从数据库中获取的行数。我有一条 SQL 语句,它返回 10,000 条与搜索相关的记录。
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA
我知道如何使用 TOP 语句返回提取的 TOP x 行数,但是如何提取搜索结果中间的行,例如第 50-100 行?
【问题讨论】:
MySQL 的 limit clause 让这一切变得简单:
SELECT cols
FROM table
LIMIT offset, rowcount
在你的情况下:
LIMIT 49, 50 -- skip rows 0-49, grab the next 50
【讨论】:
通过执行以下操作:
SELECT colA, colB, colC FROM xyzTable WHERE ... ORDER BY colA LIMIT 30 , 40
30 是您想要开始的数字,40 是您想要查看的许多项目。
然后你可以随意增加这些值。
【讨论】:
使用LIMIT:
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 50, 50
LIMIT 子句可用于 限制返回的行数 通过 SELECT 语句。 LIMIT 需要 一个或两个数字参数
【讨论】:
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA
LIMIT 10, 5
LIMIT 10, 5 定义结果范围(这将返回结果 11、12、13、14、15)。
【讨论】:
SELECT colA, colB, colC
FROM xyzTable
WHERE ...
ORDER BY colA LIMIT 49,50;
LIMIT 行偏移,行数
第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数...
【讨论】: