SELECT...LIMIT查詢出的結果是倒序的了
為何我用SELECT...LIMIT查詢出的結果是倒序的?從尾部開始計算順序的呢? ?提前謝謝高手解惑,謝謝:?
mysql> SELECT * FROM id4;
+----+-------+------+?
| id | name ?| sex ?| ?
+----+-------+------+?
| ?1 | Diego | UN ? | ?
| ?2 | Sam ? | M ? ?| ?
| ?3 | Tom ? | F ? ?| ?
| ?4 | Mark ?| UN ? | ?
| ?5 | Kim ? | UN ? |?
| ?6 | Kate ?| F ? ?| ?
| ?7 | Rose ?| F ? ?| ?
| ?8 | Joe ? | UN ? | ?
+----+-------+------+?
8 rows in set (0.00 sec)
mysql> SELECT id,name FROM id4 LIMIT 2,3;
+----+------+
| id | name |
+----+------+
| ?6 | Kate |
| ?5 | Kim ?|
| ?4 | Mark |
+----+------+
3 rows in set (0.00 sec)
mysql> SELECT id,name FROM id4 LIMIT 2;
+----+-------+
| id | name ?|
+----+-------+
| ?1 | Diego |
| ?8 | Joe ? |
+----+-------+
2 rows in set (0.00 sec)
2017-03-21
插入數據向數據庫中,可能自然順序會和插入的時候不一樣,這個和數據類型或是否建立索引有關
如果你要確保limit取出來的是按照你期待的,最好配合Order by使用。我估計你這個表是按照name排序了~ 所以取出來的順序是?
?1 | Diego | UN ?
?8 | Joe ? | UN ?
| ?6 | Kate ?| F ? ?|?
| ?5 | Kim ? | UN ? |
| ?4 | Mark ?| UN ? | ?
| ?7 | Rose ?| F ? ?| ?
| ?2 | Sam ? | M ? ?| ?
| ?3 | Tom ? | F ? ?| ?
猜測的~
2017-03-01
對于 MyISAM 表?MySQL Select 默認排序是按照物理存儲順序顯示的,InnoDB 表會按主鍵的順序排列