SQL:select like case when 排序

數據庫有表,T_table 具體數據如下:

p_id(序號) p_name(出版社名稱) p_addr(出版地)
11 福建人民出版社 福建
22 北京理工大學出版社 北京
33 廣州出版社 廣州
44 北京出版社 北京


平時我可以通過語句“select p_id 序號,p_name 出版社名稱,p_addr 出版地 from T_table”將數據查詢出來

但是增加條件是“出版社名稱,有字眼‘北京’開頭的,排序在查詢結果的前面,其他的排在後面,不去除。”

即效果:

序號 出版社名稱 出版地
44 北京出版社 北京
22 北京理工大學出版社 北京
11 福建人民出版社 福建
33 廣州出版社 廣州


那就要用到like、case when 的組合:select p_id 序號,p_name 出版社名稱,p_addr 出版地 from T_table order by(case when p_name like'北京%' then 0 else 1 end)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章