【SQL系列】复杂排序

简介: 【SQL系列】复杂排序

问题

你想根据某种条件逻辑选择排序依据。如果 JOB 列为Programmer,就根据 DEPTNO列排序,否则根据 SAL 排序。

解决方案

在 ORDER BY 子句中使用 CASE 表达式。

select name, salary, job, deptno

from emp

order by case when job = 'Programmer' then deptno else salary end;

扩展

可以使用 CASE 表达式动态地修改结果集排序方式。传递给 ORDER BY 子句的值如下所示。

select name, salary, job, deptno, case when job = 'Programmer' then deptno else salary end as ordered

from emp

order by 5;


点个赞吧,这对我非常重要!

目录
相关文章
|
5月前
|
SQL 数据库管理
第二章:基础查询与排序---SQL学习笔记
第二章:基础查询与排序---SQL学习笔记
75 0
|
5月前
|
SQL 存储
SQL组内排序
为什么要用ORDER BY来做,因为是这样的,由于采用的多线程,各个线程触发时间十分相近,但是我们需要对每一个项目进行分组,所以在此处,我们做了一个唯一标识IDENTIFICATION,每个项目每次执行时记录的6条日志里都会存储这个唯一标识。
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
51 0
|
5月前
|
SQL
SQL语句两个字段或多个字段同时order by 排序
SQL语句两个字段或多个字段同时order by 排序
832 0
|
5月前
|
SQL 数据库管理
SQL基础题----基本的SELECT语句、order by排序
SQL基础题----基本的SELECT语句 ambiguous 模糊
208 1
|
SQL 数据库管理 索引
SQL基础——聚合与排序(下)
SQL基础——聚合与排序(下)
152 0
|
5月前
|
SQL 人工智能 运维
数据库基础入门 — SQL排序与分页
数据库基础入门 — SQL排序与分页
48 0
|
5月前
|
SQL 存储 数据库
MS-SQL创建查询排序语句总结
MS-SQL中的查询排序语句(ORDER BY)用于在执行SQL查询后,按照指定列的值对查询结果进行升序或降序排列。
100 0
|
5月前
|
SQL 大数据 HIVE
每天一道大厂SQL题【Day04】大数据排序统计
每天一道大厂SQL题【Day04】大数据排序统计
49 0
|
11月前
|
SQL
SQL数据查询——单表查询和排序
SQL数据查询——单表查询和排序
119 0
下一篇
无影云桌面