SQL自定義不規則排序

2021-09-25 16:38:24 字數 1034 閱讀 3898

datas 

name

position

李小明軟體工程師

王小軍專案經理

張小麗測試工程師

宋小文需求分析師

井小莉軟體工程師

趙小鑫實施工程師

楊小芳測試工程師

order by 配合case when

case when將職位轉換成順序數字

再利用order by進行排序。

select t.name, t.position

from datas t

order by

case when t.position = '專案經理' then 1

when t.position = '需求分析師' then 2

when t.position = '軟體工程師' then 3

when t.position = '測試工程師' then 4

when t.position = '實施工程師' then 5

else 6 end;

-- 還可以使用模糊條件匹配

select t.name, t.position

from datas t

order by

case when t.position like '%專案%' then 1

when t.position like '%需求%' then 2

when t.position like '%軟體%' then 3

when t.position like '%測試%' then 4

when t.position like '%實施%' then 5

else 6 end;

使用field函式

select *

from datas

order by field(position, '專案經理', '需求分析師', '軟體工程師', '測試工程師', '實施工程師');

新手一枚,不足之處,望不吝賜教。

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...

QT 自定義不規則提示框

我們看到到過很多的輸入提示的提示框,例如乙個某個 的註冊介面,當使用者註冊時輸入的格式不正確時,會有乙個提示框彈出,來提示使用者該如何輸入。現在我們想在qt中也實現這樣乙個效果,那麼該如何實現呢?實現 如下 include include class tipbox public qwidget in...