可能重复:
在SQLite中选择语句识别行号
例如, SELECT * FROM table WHERE [row] BETWEEN x AND y
如何才能做到这一点?我做了一些阅读,但没有找到任何特别正确的.
想象一个列表,您希望结果按X量的结果分页,因此对于第10页,您需要从行10*X到10*X + X的结果.而不是一次性显示所有结果
Nan*_*ale 54
对于你有限制的mysql,可以将查询解析为:
SELECT * FROM table limit 100` -- get 1st 100 records
SELECT * FROM table limit 100, 200` -- get 200 records beginning with row 101
Run Code Online (Sandbox Code Playgroud)
对于Oracle,您可以使用rownum
见MySQL的选择语法和用途limit
在这里.
对于SQLite,你有limit, offset
.我没有使用SQLite,但我在SQLite文档上检查过它.在这里查看SQLite的示例.
你可以使用rownum:
SELECT * FROM table WHERE rownum > 10 and rownum <= 20
Run Code Online (Sandbox Code Playgroud)
在您澄清之后,您正在寻找限制:
SELECT * FROM `table` LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
这将显示数据库的前10个结果.
SELECT * FROM `table` LIMIT 5, 5 .
Run Code Online (Sandbox Code Playgroud)
将显示5-9(5,6,7,8,9)
语法遵循以下模式:
SELECT * FROM `table` LIMIT [row to start at], [how many to include] .
Run Code Online (Sandbox Code Playgroud)
用于选择列在两个值之间的行的SQL 是:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Run Code Online (Sandbox Code Playgroud)
请参阅:http://www.w3schools.com/sql/sql_between.asp
如果你想要行号,你可以使用rownum:
SELECT column_name(s)
FROM table_name
WHERE rownum
BETWEEN x AND y
Run Code Online (Sandbox Code Playgroud)
但是,我们需要知道您使用哪个数据库引擎,因为rownum对大多数人来说是不同的.
归档时间: |
|
查看次数: |
93185 次 |
最近记录: |