例如,SELECT * FROM table WHERE [row] BETWEEN x AND y
如何做到这一点?我做了一些阅读但没有发现任何特别正确的内容。
想象一个列表,您希望结果按X量的结果分页,因此对于第10页,您需要从行10 * X到10 * X + X的结果。而不是一次性显示所有结果
答案 0 :(得分:49)
对于mysql,你有限制,你可以点击查询:
SELECT * FROM table limit 100` -- get 1st 100 records
SELECT * FROM table limit 100, 200` -- get 200 records beginning with row 101
对于Oracle,您可以使用rownum
请参阅limit
here的mysql select语法和用法。
对于SQLite,您有limit, offset
。我没有使用过SQLite,但我在SQLite Documentation上查了一下。检查SQLite here的示例。
答案 1 :(得分:8)
您可以使用rownum:
SELECT * FROM table WHERE rownum > 10 and rownum <= 20
答案 2 :(得分:5)
在澄清之后,您正在寻找限制:
SELECT * FROM `table` LIMIT 0, 10
这将显示数据库中的前10个结果。
SELECT * FROM `table` LIMIT 5, 5 .
将显示5-9(5,6,7,8,9)
语法遵循以下模式:
SELECT * FROM `table` LIMIT [row to start at], [how many to include] .
用于选择列在两个值之间的行的SQL是:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
请参阅:http://www.w3schools.com/sql/sql_between.asp
如果你想使用行号,可以使用rownum:
SELECT column_name(s)
FROM table_name
WHERE rownum
BETWEEN x AND y
但是我们需要知道你使用哪个数据库引擎作为rownum对大多数人来说是不同的。
答案 3 :(得分:2)
使用条件
SELECT *
FROM TEST
WHERE COLUMN_NAME BETWEEN x AND y ;
或使用Just运算符
SELECT *
FROM TEST
WHERE COLUMN_NAME >= x AND COLUMN_NAME <= y;
答案 4 :(得分:1)
您是否尝试过自己的代码? 这应该有效:
SELECT * FROM people WHERE age BETWEEN x AND y
答案 5 :(得分:1)
使用 LIMIT 子句:
/* rows x- y numbers */
SELECT * FROM tbl LIMIT x,y;
答案 6 :(得分:0)
假设id
是表的主键:
SELECT * FROM table WHERE id BETWEEN 10 AND 50
前20个结果
SELECT * FROM table order by id limit 20;