1000レコード以上のテーブルから10レコードしか取得できないのはなぜですか?私はrowid、名前、コストのテストテーブルを持っています。mysqlのテーブルからNレコードを選択する方法
select name, cost from test;
ここでは、最初の10行だけを選択したいと思いますが、ROWIDを選択しません。あなたが必要とするレコード数が続くLIMIT使用することができます最初の10件のレコードを選択する
1000レコード以上のテーブルから10レコードしか取得できないのはなぜですか?私はrowid、名前、コストのテストテーブルを持っています。mysqlのテーブルからNレコードを選択する方法
select name, cost from test;
ここでは、最初の10行だけを選択したいと思いますが、ROWIDを選択しません。あなたが必要とするレコード数が続くLIMIT使用することができます最初の10件のレコードを選択する
:特定の場所から10件のレコードを選択するには
SELECT name, cost FROM test LIMIT 10
を、あなたはLIMIT 10を使用することができ、100
SELECT name, cost FROM test LIMIT 100, 10
これはこれは、レコード11-11が表示されます、レコード101-110
SELECT name, cost FROM test LIMIT 10, 100
が表示されます1
、必ず正しい結果を取得しますあまりにも結果BY必ずORDERを行い、それ以外の場合は返される行はランダムっぽい
かもしれするためにあなたがhttp://php.about.com/od/mysqlcommands/g/Limit_sql.htm
@詳細を読むことができますあなたは持っている必要がありますLIMIT
を使用すると、同じレコードセットが連続して2回呼び出され、データが変更されていない場合は、同じレコードセットが取得されるため、ORDER BY
句が使用されます。だから、
、ような何か:
select name, cost
from test
order by rowid
limit 10;
このクエリを、あなたは最初の10件のレコードを取得することができます。
SELECT employee_id、first_name FROM employees LIMIT 10;
個人的には、一貫性のある繰り返し可能な結果を保証するために、私は常にLIMITでORDER BYを使用します。 –
私は2番目の例でエラーがあると思います。私のテストでは、 'LIMIT 10、100'はインデックス11から100レコードを返します。' LIMIT 100、10'はインデックス101から始まる10レコードを返します。 – jatrim
'LIMIT 10'は10レコード未満を返します。私のために答えるので、どうすれば正確に10レコードを選ぶことができますか?私はコマンドラインを使ってこの 'limit'クエリを実行しました。私はこのクエリを7回目に8回実行しました。 – 151291