如何从mysql中的表中选择N条记录

时间:2012-01-10 15:14:21

标签: mysql

如何从一张表中只有10条记录获得超过1000条记录。我有一个带有rowid,名称,成本的测试表。

   select  name, cost from test;

这里我想只选择前10行而不想选择rowid。

5 个答案:

答案 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);