mysql------order by语句
mysql表如果含有主键,查询的结果集是默认按照主键进行排序的;如果没有主键,含有其他索引,查询的字段如果含有索引字段,也会默认按照索引进行排序;如果表不含任何索引(主键或其他索引),查询的结果集则的无序的,每次都是随机的。
如现有表数据如下:
1、表有主键:
2、表没有主键,含有其他索引:
3、表没有任何索引(没有主键也没有其他的索引):
所以我们在建表时都会加上主键,否则比如在进行分页查询时,可能会出现每页数据都是一样的情况,因为总数是对的,而select * from 表名 limit 起始页,每页数,结果集是随机的,每次都可能一样。当然如果查询时加个可以区分的自定义排序order by也是可以解决这个问题的。当然,这只是加主键的好处之一。