SQL语句中Limit用法超级详细
Limit参数的使用,分两种情况。第一种情况:limit使用一个参数,第二种情况:limit使用两个参数
1、limit使用一个参数的情况
如果"limit 10";则表示将表中的前10条数据查询出来,--检索前10行数据
2、limit使用两个参数的情况
第一个参数表示从第几行数据开始查,第二个参数表示查几条数据,"limit 0,2";表示从第1行数据开始,取2条数据。
区别:
一个参数时,参数值为多少就查询表中前多少条数据
两个参数时,因为limit默认下标从0开始,第一个参数是下标,查数据的话是从第一条查,第二个参数限定了几条数据
拓展:
Limit的下标默认从0开始,下标为0表示第一条记录,和数组一样,数组下标从0开始表示第一个元素
例题:
SQL语句中(startPage - 1) * pageSize, pageSize)
这里修改startPage,数据就会变化,通过后端路径映射,对数据进行判断,计算
startPage为起始页,pageSize为页面大小
当startPage=1时,
(startPage - 1) * pageSize, pageSize) 计算后的结果分别为:0,10
(startPage - 1) * pageSize下标为 0,但是数据条数从1开始,因为pageSize为10,查10条数据,所以数据为1-10条
当startPage=2时,
(startPage - 1) * pageSize, pageSize)计算后的结果分别为:10,10
检索从第11行开始,累加10条数据,显示11-20条数据;
startPage=2这里等于2是文章的起始数,是浏览器页面的页数,是作为用户角度考虑,就像书的页数,一页有多少数据,下图:
和(startPage - 1) * pageSize不同,(startPage - 1) * pageSize等于10,是limit的下标为10,上面提到数据在下标的基础加1,那就是显示11-20这10条数据,因为pageSize限定的是10;刚刚startPage=1,(startPage - 1) * pageSize等于0,限定的大小为10,数据库的下标为0-9,数据是显示1-10条;所以这里的(startPage - 1) * pageSize 为10是符合的,没有冲突
特别注意,容易混淆的地方:
startPage=2,(startPage - 1) * pageSize的10是limit下标的10,pageSize的10是页面大小的10,所以显示的数据是11-20;下标和数据差1,这里是limit两个参数的使用;一个参数的使用,就是参数为多少,就查询参数值为多少条的数据
更多推荐
所有评论(0)