数据库有表,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)