SQL: 对同一列先升序再降序排序

SQL: Sorting the same column asc then desc

我尝试使用 order by 子句对同一列上的数据进行排序和重新排序。我的查询是:

SELECT * FROM Customers ORDER BY Country ASC, Country DESC;

结果令人惊讶。它仅按升序对 Country 列进行排序。

据我所知,Country 列应该先按升序排序,然后再按降序排序。

为什么 SQL 跳过查询的下一部分?

当您在ORDER BY子句中指定多个项目时,顺序确定如下:

  • 结果使用第一顺序规范(列名 + 方向)排序
  • 任何剩余的关系都使用二阶规范解决,
  • 任何剩余的关系都使用三阶规范解决,依此类推。

无论方向如何,使用同一列解析并列都不会更改顺序,因为列中的值在并列组中是相同的。