【发布时间】:2016-12-19 10:46:28
【问题描述】:
当 SQL 返回结果时,我们需要按照将值传递给 SQL 的 IN() 子句的确切顺序对它们进行排序。
查询和结果:(HR 架构)
select EMPLOYEE_ID, FIRST_NAME
from EMPLOYEES
where EMPLOYEE_ID in ('151','149','145','147','155');
EMPLOYEE_ID FIRST_NAME
----------- --------------------
145 John
147 Alberto
149 Eleni
151 David
155 Oliver
但我们需要它们按 '151','149','145','147','155' 的顺序排列
预期输出
EMPLOYEE_ID FIRST_NAME
----------- --------------------
151 David
149 Eleni
145 John
147 Alberto
155 Oliver
在 MySQL 中,有 FIELD() 函数。
如何在 Oracle 中实现这一点?
【问题讨论】:
标签: sql oracle sql-order-by