SQL:对同一列 asc 进行排序,然后进行描述



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

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

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

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

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

在子句中指定多个项目ORDER BY排序按如下方式确定:

  • 结果使用一阶规范(列名 + 方向(进行排序
  • 任何剩余的连接都使用二阶规范解析,
  • 剩余的任何连接都使用三阶规范进行解析,依此类推。

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

最新更新