📜  mysql 按多列排序 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:03.331000             🧑  作者: Mango

MySQL 按多列排序

在 MySQL 中,当需要按照多个列来排序时,可以使用 ORDER BY 子句加上多个列名并指定它们的排序方式(升序或降序)来进行实现。

语法
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 DESC, column2 ASC;
说明
  • SELECT 语句用于选取需要排序的列。
  • ORDER BY 语句用于按照指定的列进行排序。
  • 多个排序条件可以用逗号 , 分隔,每个条件可以单独指定排序方式(升序 ASC 或降序 DESC),如果不指定,默认为升序。
示例

在以下示例中,我们将使用一个名为 students 的表,它包含 idnamescore 列。

SELECT id, name, score
FROM students
ORDER BY score DESC, name ASC;

上述语句将按照 score 列进行降序排列,如果存在相同分数的情况,则按照 name 列进行升序排列。

总结

按照多个列进行排序是 SQL 中的一项基本操作。在使用时需要注意以下注意事项:

  • ORDER BY 子句的位置应该在 SQL 语句的末尾。
  • 可以按照任意多个列进行排序,并且每个排序条件可以单独指定排序方式。
  • 可以使用 ASC 和 DESC 指定升序和降序,如果不指定默认为升序。
  • 如果存在相同的排序值,指定多个排序条件可以确保结果唯一。