在下面的查询中:
SELECT column FROM table LIMIT 18 OFFSET 8
我们将得到多少结果作为输出,从哪里到哪里?
它将返回18个结果开始记录 # 9和结束记录 # 26。
首先从 offset读取查询。首先偏移8,这意味着跳过查询的前8个结果。然后你限制在18。这意味着你考虑的记录9,10,11,12,13,14,15,16... . 24,25,26总共是18个记录。
offset
看看 这个。
还有 正式文件。
您将得到从 column值9到26的输出,正如您提到的 OFFSET为8
column
OFFSET
OFFSET只不过是一个指示表中光标起始位置的关键字
SELECT column FROM table LIMIT 18 OFFSET 8 -- fetch 18 records, begin with record 9 (OFFSET 8)
你会得到相同的结果
SELECT column FROM table LIMIT 8, 18
可视化表示(R是表中按某种顺序排列的一条记录)
R
OFFSET LIMIT rest of the table __||__ _______||_______ __||__ / \ / \ / RRRRRRRR RRRRRRRRRRRRRRRRRR RRRR... \________________/ || your result
偏移量主要用于支持 MySqlSELECT 语句中的分页。 首先执行查询,然后返回偏移量之后的记录。
例如 : 假设你想按照排名顺序(最高排名第一)显示一个产品的每页10条评论,那么下面的查询可以用来获得将在第三页显示的评论:
选择 * from Reviews where productid = order by atings desc LIMIT 10 OffSET 20。
它将跳过前8条记录,并显示从9条到26条的记录
limit 18: 显示/选择18条记录
limit 18
将跳过8个记录
如果您的表有像 1,2,3,4,5,6,7,8,9,10,11....等等的 id,那么 1 to 8记录将被跳过,而 9 to 26之后的记录将显示/选择18条记录。
1,2,3,4,5,6,7,8,9,10,11....
1 to 8
9 to 26