📜  SQL ORDER BY多列(1)

📅  最后修改于: 2023-12-03 14:47:35.245000             🧑  作者: Mango

SQL ORDER BY多列

在SQL中,使用ORDER BY子句可以通过指定一个或多个列对查询结果进行排序。当需要按照多个列进行排序时,可以使用多个列名,以逗号分隔的方式进行排序。

语法

以下是ORDER BY子句的基本语法:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ...;
示例

考虑一个名为employees的表,其中包含员工的姓名(name)、年龄(age)和工资(salary)列。现在我们希望按照不同的列对员工进行排序。

  • 按姓名升序、年龄升序排序:
SELECT name, age, salary
FROM employees
ORDER BY name ASC, age ASC;
  • 按姓名降序、工资升序排序:
SELECT name, age, salary
FROM employees
ORDER BY name DESC, salary ASC;
  • 按工资降序、年龄降序排序:
SELECT name, age, salary
FROM employees
ORDER BY salary DESC, age DESC;
注意事项
  • 相同的排序顺序适用于所有指定的列。例如,如果在多个列上都使用ASC关键字,则所有列将按升序排序。
  • 可以在每个列名之后指定排序顺序,ASC用于升序(默认)和DESC用于降序。
  • 可以指定列的位置,例如ORDER BY 1, 2,其中1表示查询结果中的第一个列,2表示第二个列,以此类推。
结论

ORDER BY子句是SQL中用于对查询结果进行排序的关键字。通过使用多个列和指定排序顺序,可以按照多个条件对结果进行排序。这对于程序员来说是非常有用的,因为它可以确保查询结果按照预期的顺序返回。