如何從超過1000條記錄的表中只獲取10條記錄。我有一個測試表,rowid,名稱,成本。如何從mysql表中選擇N條記錄
select name, cost from test;
這裏我想只選擇前10行而不想選擇rowid。
如何從超過1000條記錄的表中只獲取10條記錄。我有一個測試表,rowid,名稱,成本。如何從mysql表中選擇N條記錄
select name, cost from test;
這裏我想只選擇前10行而不想選擇rowid。
要選擇前十個記錄,你可以使用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-11 1
爲了確保您檢索正確的結果,請確保您的ORDER BY的結果也是如此,否則返回的行可能是隨機的上下的
你可以閱讀更多@http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
你應該有一個ORDER BY
子句當您使用LIMIT
時,如果您連續調用兩次並且沒有數據更改,您將獲得相同的記錄集。
所以,做這樣的事情:
select name, cost
from test
order by rowid
limit 10;
這個查詢,你可以得到前10個記錄。
SELECT employee_id,first_name FROM employees LIMIT 10;
就個人而言,我總是使用ORDER BY和LIMIT來保證一致的,可重複的結果。 – 2012-01-10 15:20:33
我相信你的第二個例子有錯誤。在我的測試中,'LIMIT 10,100'返回100條記錄,從索引11開始。'LIMIT 100,10'返回10條以索引101開頭的記錄。 – jatrim 2014-04-03 18:18:18
'LIMIT 10'返回少於10條記錄,所以這是不正確的爲我回答,所以我如何才能精確選擇10條記錄?,而不是更少。我用命令行來執行這個'limit'查詢,我在第7次運行這個查詢8次,我得到了8條記錄,而不是10條記錄。 – 151291 2015-12-17 10:33:38