開發的時候碰到相似這麼一個問題:mysql
mysql中有表:算法
create table dept(
id int auto_increment primary key comment 'id',
level int comment '權重,1--普通員工,2--經理',
name varchar(15) comment '員工姓名'
)
複製代碼
有一天這個系統用了很長時間了,須要增長一個「副經理」的角色,可是由於1和2已經在不少地方寫死了,只能在原來的基礎上,將3設爲「副經理」,而且設計表的人表示之後絕對不會修改這個表了sql
本人小白,作外包,因此沒辦法學習
差很少就是這樣,遇到一個需求,是將表中數據按照職位大小進行排序spa
而後我是這麼寫的:設計
select * from
dept
order by (4-level)%3 desc
複製代碼
而後問題雖然是解決了,思路也是我本身想出來的,可是我想不通爲何這樣能夠運行code
有沒有前輩能指點一下,這種解決思路是一個算法,仍是一個什麼思路?有沒有通用的能夠抽取的地方能夠學習?這個問題疑惑了我兩個月了,但願能夠獲得解答排序