mysql------order by语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w_t_y_y/article/details/88884816

mysql表如果含有主键,查询的结果集是默认按照主键进行排序的;如果没有主键,含有其他索引,查询的字段如果含有索引字段,也会默认按照索引进行排序;如果表不含任何索引(主键或其他索引),查询的结果集则的无序的,每次都是随机的。

如现有表数据如下:

1、表有主键:

2、表没有主键,含有其他索引:

3、表没有任何索引(没有主键也没有其他的索引):

所以我们在建表时都会加上主键,否则比如在进行分页查询时,可能会出现每页数据都是一样的情况,因为总数是对的,而select * from 表名 limit 起始页,每页数,结果集是随机的,每次都可能一样。当然如果查询时加个可以区分的自定义排序order by也是可以解决这个问题的。当然,这只是加主键的好处之一。

猜你喜欢

转载自blog.csdn.net/w_t_y_y/article/details/88884816