如何从一张表中只有10条记录获得超过1000条记录。我有一个带有rowid,名称,成本的测试表。
select name, cost from test;
这里我想只选择前10行而不想选择rowid。
答案 0 :(得分:37)
要选择前十条记录,您可以使用LIMIT,后跟您需要的记录数:
SELECT name, cost FROM test LIMIT 10
要从特定位置选择十条记录,您可以使用LIMIT 10,100
SELECT name, cost FROM test LIMIT 100, 10
这将显示记录101-110
SELECT name, cost FROM test LIMIT 10, 100
这将显示记录11-111
要确保检索到正确的结果,请确保对结果进行ORDER BY,否则返回的行可能是random-ish
您可以阅读更多@ http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
答案 1 :(得分:5)
当您使用LIMIT
时,您应该有一个ORDER BY
子句,这样如果您连续两次调用它并且没有数据发生更改,您将获得相同的记录集。
所以,做一些像:
select name, cost
from test
order by rowid
limit 10;
答案 2 :(得分:2)
SELECT TOP(10) name, cost FROM test;
答案 3 :(得分:0)
此查询,您可以获得前10条记录。
SELECT employee_id,first_name FROM employees LIMIT 10;
答案 4 :(得分:0)
使用下面的查询可以获得前N条记录 假设N = 10
SELECT name, cost FROM test LIMIT 10;
假设您要从M行开始获取10条记录(行索引从0开始)
SELECT name, cost FROM test LIMIT 10 OFFSET (M-1);