如果它们的值相同,“ORDER BY”如何排序?

Jun*_*o J 5 mysql sql myisam sql-order-by

假设有一个表:

name | score
A      100
B      98
C      99
D      99
E      99
F      98
Run Code Online (Sandbox Code Playgroud)

并请求 sql = 'select * from table order by Score desc'

我知道顺序是 100, 99, 99, 99, 98, 98,但是 99 和 98 有几个值。

我正在使用 MyIsam,并且想要确保即使我删除了某些元素,99 和 98 中的顺序也不会更改。例如,如果顺序是 C->D->E 并且我删除了 D,那么我期望是 C->E 但不是 E->C。当订单价值相同时,它有什么逻辑吗?

小智 0

SQLite 以未指定的顺序将行存储在表中。这意味着表中的行可能按插入顺序排列,也可能不按插入顺序排列。

如果使用 SELECT 语句从表中查询数据,则结果集中的行顺序是未指定的。要对结果集进行排序,请在 SELECT 语句中添加 ORDER BY 子句,如下所示:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1 ASC,
    column_2 DESC;
Run Code Online (Sandbox Code Playgroud)

我希望这个链接可以帮助你。