在 SQL 中,可以使用 ORDER BY 子句对查询结果进行排序。
SELECT 列1, 列2
FROM 表名
ORDER BY 列名;
默认是 升序(ASC)。
-- 升序(默认)
ORDER BY 列名 ASC;
-- 降序
ORDER BY 列名 DESC;
先按列1排序,列1相同再按列2排序:
ORDER BY 列1 ASC, 列2 DESC;
示例:
SELECT name, age
FROM users
ORDER BY age DESC, name ASC;
SELECT name, age AS user_age
FROM users
ORDER BY user_age;
SELECT name, salary * 12 AS year_salary
FROM employees
ORDER BY year_salary DESC;
SELECT name, age FROM users ORDER BY 2;
(2 表示第二列 age,可读性差)
SELECT *
FROM orders
WHERE status = 'paid'
ORDER BY create_time DESC;
ORDER BY 通常放在 WHERE、GROUP BY 之后NULL 的排序位置因数据库不同而异(如 MySQL 中 NULL 最小)如果你有具体的数据库(MySQL / PostgreSQL / SQL Server / Oracle)或业务场景,我可以给你更针对性的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。