數據庫有表,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)