
# ORDER BY
#### ORDER BY
ORDER BY子句用于按一个或多个输出表达式对结果集排序。
ORDER BY expression \[ ASC \| DESC \] \[ NULLS { FIRST \| LAST } \] \[, ...\]
每个expression可以由输出列组成，也可以是按位置选择输出列的序号。
ORDER BY子句在GROUP BY或HAVING子句之后，在OFFSET、LIMIT或FETCH FIRST子句之前进行计算。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/notice_3.0-zh-cn.png)
按照SQL规范，ORDER BY子句只影响包含该子句的查询结果的行顺序。HetuEngine遵循该规范，并删除该子句的冗余用法，以避免对性能造成负面影响。
例如在执行INSERT语句时，ORDER BY子句不会对插入的数据产生影响，是个冗余的操作，会对整个INSERT语句的整体性能产生负面影响，因此HetuEngine会跳过ORDER BY操作。
- ORDER BY只作用于SELECT子句：
  ```
  INSERT INTO some_table
  SELECT * FROM another_table
  ORDER BY field;
  ```
  
- ORDER BY冗余的例子是嵌套查询，不影响整个语句的结果：
  ```
  SELECT *
  FROM some_table
  JOIN (SELECT * FROM another_table ORDER BY field) u
  ON some_table.key = u.key;
  ```
  
 
