【发布时间】:2015-10-19 17:02:34
【问题描述】:
这是一个表格结构示例:
// tablename
+----+------+---------+
| id | numb | color |
+----+------+---------+
| 1 | 4 | green |
| 2 | 4 | yellow |
| 3 | 3 | red |
+----+------+---------+
这是一个查询示例:
SELECT id, numb, color FROM tablename ORDER BY numb asc
结果将是:
+----+------+---------+
| id | numb | color |
+----+------+---------+
| 3 | 3 | red |
| 1 | 4 | green |
| 2 | 4 | yellow |
+----+------+---------+
现在,我的焦点在这些行的顺序上:
| 3 | 4 | green |
| 2 | 4 | yellow |
因为它们的numb 值是相等的,现在我想知道,对于执行该查询的几个,它们会是不变的吗? (是否保证相同值的顺序?)或者没有任何保证,我应该在查询中使用另一个列名,例如 ORDER BY numb, id asc ?
【问题讨论】:
-
没有。简单来说,没有保证。如果您希望按特定顺序退回商品,则应始终指定该顺序。
-
你应该在订单中包含id
标签: mysql sql-order-by