sql實現自定義排序

2021-09-23 22:15:00 字數 480 閱讀 4460

實際應用中sql提供的預設按某一欄位排序,asc、desc並不滿足需要,需要根據使用者需求自定義的按照默寫順序排序,這裡提供乙個方法,適用於自定義型別不多的情況下,多了就得存欄位關聯表排序了吧。

例子如下:

select * from

(select 3 as id,'小明' as name from dual

union

select 1,'小王' from dual

union

select 2,'小張' from dual

) aorder by

case

when name like '%小明%' then 3

when name like '%小王%' then 2

when name like '%小張%' then 1

end

通過order by 中的case when 就可以實現自定義排序。

SQL如何實現自定義排序規則

現有醫院行政級別資料,需要由低 一乙 到高 三甲 排序 create table temp name nvarchar 32 insert into temp name values 三甲 insert into temp name values 一乙 insert into temp name v...

SQL如何實現自定義排序規則

現有醫院行政級別資料,需要由低 一乙 到高 三甲 排序 create table temp name nvarchar 32 insert into temp name values 三甲 insert into temp name values 一乙 insert into temp name v...

SQL語句自定義排序

需求 從訂單表中查資料,並且按照status欄位1,3,4,2,排序 分析 按照orderby status方法,不管asc還是desc達不到目的。可以用case when函式,但是case when的可維護性是比較差的,客戶說按1,4,3,2排序,或者新增兩個5,6,就要調整case when的順...