1

たとえばselect * from table limit 0,5
、最大で 5 行を返す
か、正確に 5 行を検索する必要があり、row_count が 5 に等しくない場合、空の結果セットを返しますか?


クエリselect * from table limit 5

4

4 に答える 4

7

http://dev.mysql.com/doc/refman/5.1/en/select.html

「LIMIT 句を使用して、SELECT ステートメントによって返される行数を制限できます。LIMIT は 1 つまたは 2 つの数値引数を取り、両方とも非負の整数定数でなければなりません (準備されたステートメントを使用する場合を除く)。2 つの引数を使用すると、最初の引数は返す最初の行のオフセットを指定し、2 番目は返す行の最大数を指定します。」

したがって、質問に直接答えるには、最大で5 行が返されます。

于 2009-01-29T06:25:37.533 に答える
5

クエリSELECT * FROM table LIMIT 0,5は、最初のレコードから始まる 5 つのレコードを返します。

クエリSELECT * FROM table LIMIT 5でも、上記のクエリと同じ結果が得られます。

そのテーブルのレコードが 5 つ未満の場合、失敗することはありませんが、そこにあるすべてのレコードが返されます。

SELECT * FROM table LIMIT 6,5インデックスが 0 から始まるため、クエリはレコード 7、8、9、10、11 を返します。

于 2009-01-29T06:29:55.497 に答える
2

制限は制限であるため、それ以上の行は返されません。それはより少なく返すことができます。

于 2009-01-29T06:23:08.787 に答える
0

クエリ "select * from table limit 0,5" では、0 は返される最小レコードを指定しません。OFFSET を指定します。したがって、0 を指定すると、"select * from table" というクエリが 10 件のレコードを返す場合、"limit 0,5" は最初の 5 件を返します。"limit 5,5" を使用すると、最後の 5 件のレコードを返します。

レコードが 2 つしかない場合は、2 つのレコードが返されます。結果がなくてもエラーは返されません。LIMIT は上限です。最小値は、0 レコードであってもかまいません。

「select * from table limit 5」は「select * from table limit 0,5」と同じです

于 2009-01-29T06:36:50.287 に答える