SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句。下面举一个例子:
输入:
SELECT prod_name FROM products LIMIT 5;
此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行。此语句的输出如下所示:
输出:
prod_name .5ton anvil 1ton anvil 2 ton anvil 0il can Fuses
为得出下一个5行,可指定要检索的开始行和行数,如下所示:
输入:
SELECT prod_name FROM products LIMIT 5,5;
LIMIT 5, 5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。此语句的输出如下所示:
输出:
prod_name S1ing TNT (1 stick) TNT(5 sticks) Bird seed Carrots
所以, 带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始。
行0 检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
在行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行) ,MySQL将只返回它能返回的那么多行。
MySQL 5的LIMIT语法 LIMIT 3, 4的含义是从行4开始的3行还是从行3开始的4行?如前所述,它的意思是从行3开始的4行,这容易把人搞糊涂。
由于这个原因, MySQL 5支持LIMIT的另一种替代语法。 LIMIT 4 OFFSET 3意为从行3开始取4行,就像LIMIT 3, 4一样。
转载请注明:成都千喜数据恢复中心 » SQL Server如何使用SELECT语句限制结果