SELECT * FROM city.u_device u where deviceType =1 limit 0,4;
查询结果:
24, 1, '格力', 'eeee', '04A3D3DEC8EFA99A21FB84A893D60FF7'
21, 1, '格力', 'TS2012', '04A3D3DEC8EFA99A21FB84A893D60FF7'
88, 1, '格力', 'TS202', '04A3D3DEC8EFA99A21FB84A893D60FF7'
31, 1, '格力', 'TS9999', '04A3D3DEC8EFA99A21FB84A893D60FF7'
SELECT * FROM city.u_device u where deviceType =1 limit 0,20;
查询结果:
21, 1, '格力', 'TS2012', '04A3D3DEC8EFA99A21FB84A893D60FF7'
22, 1, '海尔', 'TD212', '04A3D3DEC8EFA99A21FB84A893D60FF7'
23, 1, '海尔', 'rrrrr', '04A3D3DEC8EFA99A21FB84A893D60FF7'
24, 1, '格力', 'eeee', '04A3D3DEC8EFA99A21FB84A893D60FF7'
31, 1, '格力', 'TS9999', '04A3D3DEC8EFA99A21FB84A893D60FF7'
88, 1, '格力', 'TS202', '04A3D3DEC8EFA99A21FB84A893D60FF7'
我不是很理解,mysql是不是在每页大小小的时候,不是按照id进行排序,如果每页大小大的时候,是按照id排序的?
这个。。。好像和limit没啥关系
是和select有关系,没有Order by的时候。。或者排序的条件不是唯一的时候,是可能会出现排序随机的情况的 mysql和oracle都是按照物理存储顺序显示的。。也就是表扫描的顺序
如果你没有指定排序,那么就不要指望数据库每次返回的结果集顺序都一致。你没有指定排序,数据库引擎是不会花时间进行排序处理的。所以获得的结果集顺序是随机的。不过一般都是从头到尾顺序处理表,所以很多时候看起来就好像用ID排序一样。
自己显示指定排序就好了,order by id
首先看你id是否是主键 如果是主键默认会按这个排序
另外分页查询加上order by 会避免重复数据的问题
如果你建立了主键索引,mysql 默认按照主键排序 asc
如果没有,则是随即,一般情况下,都是顺序来的
其它索引如果不指定的话,也没用,只有用order by 指定,才会按照你需要的排序进行
如果id是主键则默认升序排序,如果不是主键随机(具体要看其所在记录的主键值)!
直接指定id排序 或者创建时间排序好了,可以保证每次的顺序都一样