欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
ORDER BY 子句用于对查询结果按照一个或多个属性列进行升序(ASC)或降序(DESC)排列,默认为升序。
排序查询语法
ORDER BY
支持单字段排序、多字段排序、按别名排序和按函数排序,多字段排序之间用逗号隔开。排序查询的 SQL 语句格式如下:
SELECT select_list FROM table_list [WHERE query_condition] ORDER BY column_name [ASC|DESC] [,column_name [ASC|DESC]...];
复制
进行排序查询时,使用如果不添加 ASC
或 DESC
关键字,则默认查询结果为升序排列。
排序查询示例
单字段排序查询
按照
deptno
升序显示员工信息。obclient> SELECT empname, deptno FROM emp ORDER BY deptno; +---------+--------+ | empname | deptno | +---------+--------+ | SMITH | 20 | | SCOTT | 20 | | ALLEN | 30 | | BLAKE | 30 | | JONES | 40 | | FORD | 40 | +---------+--------+ 6 rows in set
复制按照
deptno
降序显示员工信息。obclient> SELECT empname, deptno FROM emp ORDER BY deptno DESC; +---------+--------+ | empname | deptno | +---------+--------+ | JONES | 40 | | FORD | 40 | | ALLEN | 30 | | BLAKE | 30 | | SMITH | 20 | | SCOTT | 20 | +---------+--------+ 6 rows in set
复制
多字段排序查询
按照 deptno
升序、sal
降序显示员工信息。
obclient> SELECT empname, deptno, sal FROM emp ORDER BY deptno ASC, sal DESC; +---------+--------+---------+ | empname | deptno | sal | +---------+--------+---------+ | SCOTT | 20 | 3000.00 | | SMITH | 20 | 800.00 | | BLAKE | 30 | 2850.00 | | ALLEN | 30 | 1600.00 | | FORD | 40 | 3000.00 | | JONES | 40 | 2975.00 | +---------+--------+---------+ 6 rows in set
复制
按别名排序查询
为查询列 empname
、deptno
、sal
设置别名,并按照别名 部门编号
升序、薪酬
降序显示员工信息。
obclient> SELECT empname '员工姓名', deptno '部门编号', sal '薪酬' FROM emp ORDER BY '部门编号' ASC,'薪酬' DESC; +--------------+--------------+---------+ | 员工姓名 | 部门编号 | 薪酬 | +--------------+--------------+---------+ | SCOTT | 20 | 3000.00 | | SMITH | 20 | 800.00 | | BLAKE | 30 | 2850.00 | | ALLEN | 30 | 1600.00 | | FORD | 40 | 3000.00 | | JONES | 40 | 2975.00 | +--------------+--------------+---------+ 6 rows in set
复制
按函数排序查询
如下示例在 ORDER BY
中使用了函数排序。其中 YEAR()
属于日期函数,可以获取对应日期中的年份。
示例:
按照
deptno
升序,YEAR(hiredate)
的函数结果降序显示员工信息。obclient> SELECT empname, deptno, YEAR(hiredate) FROM emp ORDER BY deptno ASC, YEAR(hiredate) DESC; +---------+--------+----------------+ | empname | deptno | YEAR(hiredate) | +---------+--------+----------------+ | SCOTT | 20 | 1987 | | SMITH | 20 | 1980 | | ALLEN | 30 | 1981 | | BLAKE | 30 | 1981 | | JONES | 40 | 1981 | | FORD | 40 | 1981 | +---------+--------+----------------+ 6 rows in set
复制示例在
ORDER BY
中使用了别名排序。其中YEAR()
属于日期函数,可以获取对应日期中的年份。为查询列
empname
、deptno
和YEAR (hiredate)
设置别名,并按照deptno
升序和别名出生日期
降序显示员工信息。obclient> SELECT empname '员工姓名', deptno '部门编号',YEAR (hiredate) '出生日期' FROM emp ORDER BY deptno ASC, '出生日期' DESC; +--------------+--------------+--------------+ | 员工姓名 | 部门编号 | 出生日期 | +--------------+--------------+--------------+ | SCOTT | 20 | 1987 | | SMITH | 20 | 1980 | | ALLEN | 30 | 1981 | | BLAKE | 30 | 1981 | | JONES | 40 | 1981 | | FORD | 40 | 1981 | +--------------+--------------+--------------+ 6 rows in set
复制
在 WHERE 子句之后排序
使用 WHERE
子句可以在排序前对数据进行筛选。
obclient> SELECT empname, deptno, sal, YEAR(hiredate) FROM emp WHERE sal >= 1000 ORDER BY YEAR(hiredate); +---------+--------+---------+----------------+ | empname | deptno | sal | YEAR(hiredate) | +---------+--------+---------+----------------+ | ALLEN | 30 | 1600.00 | 1981 | | JONES | 40 | 2975.00 | 1981 | | BLAKE | 30 | 2850.00 | 1981 | | FORD | 40 | 3000.00 | 1981 | | SCOTT | 20 | 3000.00 | 1987 | +---------+--------+---------+----------------+ 5 rows in set
复制
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月国产数据库大事记:4个千万级中标项目诞生!2024年达梦净利3.6亿、金仓净利8006.6万……
墨天轮编辑部
1768次阅读
2025-04-30 17:39:54
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
680次阅读
2025-04-30 15:24:06
919万!南航信息中心采购OceanBase数据库软件许可及服务
通讯员
279次阅读
2025-04-29 16:13:34
AI关键场景得到全面支持!OceanBase入选Forrester报告三大领域代表厂商
OceanBase数据库
260次阅读
2025-04-19 22:27:54
数据库管理-第313期 分布式挑战单机,OceanBase单机版试玩(20250411)
胖头鱼的鱼缸
251次阅读
2025-04-10 22:41:56
瓜分 10 万奖金!OceanBase 首届 AI 黑客松等你来战
OceanBase数据库
242次阅读
2025-04-10 18:19:58
OceanBase单机版产品解读
多明戈教你玩狼人杀
213次阅读
2025-04-11 15:28:33
1364万!2024年中国联通软研院OceanBase扩容单一来源采购公示
通讯员
178次阅读
2025-04-21 15:55:59
OceanBase单机版保姆级安装
薛晓刚
172次阅读
2025-04-10 17:30:42
Oceanbase单机版上手示例
潇湘秦
159次阅读
2025-04-18 13:40:24
热门文章
OceanBase 社区版入门教程第九期 如何快速拿下 OBCA & OBCP 认证
2022-09-27 6139浏览
实战教程第四章4.6:如何使用 DataX 加载 CSV 数据文件到 OceanBase
2022-09-28 2516浏览
从Oracle、MySQL到OceanBase的入门介绍,看这篇就够了!
2022-10-17 2485浏览
产品模块原理系列 | OceanBase总控服务到底是啥?一文详解RootService总控服务
2022-10-19 2339浏览
OceanBase备份恢复
2022-10-12 2270浏览
最新文章
TuGraph(OceanBase图数据库)小课堂010:TuGraph-DataX-Tool 如何使用?
2023-05-15 670浏览
TuGraph(OceanBase图数据库)小课堂009:TuGraph Browser 用户如何使用?
2023-05-15 809浏览
TuGraph(OceanBase图数据库)小课堂009:tugraph_cypher 如何使用?
2023-05-15 497浏览
TuGraph(OceanBase图数据库)小课堂008:TuGraph服务如何运维?
2023-05-15 522浏览
TuGraph(OceanBase图数据库)小课堂007:TuGraph如何配置服务?
2023-05-15 460浏览