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

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

SQL按多列排序

在SQL中,我们可以按照一个或多个列对查询结果进行排序。按多列排序可以更准确地控制查询结果的顺序。

ORDER BY 语句

ORDER BY是用于排序的SQL关键字。我们可以将ORDER BY用于SELECT语句的末尾来对查询结果进行排序。

语法如下:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

column1, column2, ...是要排序的列名,ASC表示升序排序,DESC表示降序排序。默认情况下,如果不指定ASC或DESC,则按升序排序。

示例代码:

SELECT name, age, salary
FROM employees
ORDER BY salary DESC, age ASC;

这个查询将按照薪资从高到低排序,如果两个员工的薪资相同,则按照年龄从小到大排序。

按多个列排序

如果需要按多个列排序,只需要在ORDER BY子句中添加多个列即可。SQL将按照列的顺序优先考虑第一列,如果第一列相同,则考虑第二列,依此类推。

示例代码:

SELECT name, age, salary
FROM employees
ORDER BY salary DESC, age ASC, name ASC;

这个查询将按照薪资从高到低排序,如果两个员工的薪资相同,则按照年龄从小到大排序,如果年龄也相同,则按照姓名从A到Z排序。

总结

通过ORDER BY子句,我们可以轻松地按照一个或多个列对查询结果进行排序,以更准确地控制查询结果的顺序。无论是升序还是降序排序,都可以使用ASC和DESC关键字来指定。