SQL语句 - 使用order by优先级排序大屏查看

发布于:2017年02月17日 已被阅读

背景:现有地区表area_info,地区表只有一个字段admincode,表示地区编号,要求查询所有地区编号出来,其中“1305”开头的编号排在首位,“1307”开头的编号排在第二位。


使用SQL语句的order by 和case when进行优先级排序:


[html] view plain copy

  1. select * from area_info where admincode like '13%'   

  2. order by   

  3. case when admincode like '1305%' then 1 else 10 end,  

  4. case when admincode like '1307%' then 2 else 10 end;  




其中“1”和“2”所在位置的内容只是组别,不超过10不影响排序。对比结果如下:



如果还想进行二级排序,令每一个组合里(这里1305为一个组合)升序排序:


[html] view plain copy

  1. select * from area_info where admincode like '13%'   

  2. order by   

  3. case when admincode like '1305%' then 5 else 10 end,  

  4. case when admincode like '1307%' then 2 else 10 end,  

  5. admincode;  



最新发布
linux下svn提交忽略某些文件... (119)
使用批处理来批量更新、提交SVN... (116)
linux查看目录文件大小命令 (117)
linux tar打包压缩排除某个... (114)
Linux tar压缩和解压 (116)
SVN子命令add用法浅析 (111)
热门博文
网友FBI探案:马蓉iPad惊人发现... (43320)
优衣库这个广告拍的很真实,反应人性,... (10110)
霍金携手俄罗斯富豪耗资1亿美元寻找外... (4734)
如何才能查看PHP内置函数源代码... (1196)
微信支付开发当前URL未注册的解决方... (514)
《谁为爱情买单》中的经典面试 ... (414)
精华博文
[推荐]Centos7 安装配置 SVN (117)
easyswoole框架安装 (115)
php开启pecl的支持(推荐) (116)
1-10个恋爱表现:男朋友爱你程度到... (119)
女生喜欢你的10个程度,到第六个就可... (121)
Eclipse 没有Server选项... (153)
友情链接
我来忙 (110)