ORDER BY子句

ORDER BY子句用于对SELECT语句检索得到的一列或者多列数据进行升序(ASC)或者降序(DESC)排列。

语法格式

1. SELECT
2. { * | [column, ...] }
3. [ FROM from_item [, ...] ]
4. [ ORDER BY {expression [ ASC | DESC ] }];

参数说明

  • ORDER BY子句

对SELECT语句检索得到的数据进行升序或降序排序。对于ORDER BY表达式中包含多列的情况:

  • 首先根据最左边的列进行排序,如果这一列的值相同,则根据下一个表达式进行比较,依此类推。
  • 如果对于所有声明的表达式都相同,则按随机顺序返回。

示例

  • 对结果根据c_customer_sk字段值进行升序排列。

1. openGauss=# SELECT * FROM customer_t1 ORDER BY c_customer_sk ASC; 2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount 3. ---------------+---------------+--------------+-------------+-------- 4. 3869 | hello | Grace | | 1000 5. 3869 | hello | Grace | | 1000 6. 3869 | | Grace | | 7. 3869 | hello | | | 8. 3869 | hello | | | 9. 4421 | Admin | Local | | 3000 10. 6985 | maps | Joes | | 2200 11. 9976 | world | James | | 5000 12. | | | | 13. (9 rows) - 对结果根据c_customer_sk字段值进行降序排列。

1. openGauss=# SELECT * FROM customer_t1 ORDER BY c_customer_sk DESC; 2. c_customer_sk | c_customer_id | c_first_name | c_last_name | amount 3. ---------------+---------------+--------------+-------------+-------- 4. | | | | 5. 9976 | world | James | | 5000 6. 6985 | maps | Joes | | 2200 7. 4421 | Admin | Local | | 3000 8. 3869 | hello | Grace | | 1000 9. 3869 | hello | | | 10. 3869 | hello | Grace | | 1000 11. 3869 | | Grace | | 12. 3869 | hello | | | 13. (9 rows)