欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

row_number()排序中是否可以添加where条件解决办法

更新时间: 2014-01-05 02:11:18 责任编辑: Author_N1

 

row_number()排序中是否可以添加where条件
RT,举例来说,我有一张表,两个字段, 省份、用户数,其中省份字段包括 吉林、辽宁、黑龙江等省份,同时还包括了南21省、北方十省和全国,现在我要保留表的所有信息,同时对非南21、北十和全国的数据做row_number,如何实现?最终实现类似于:   省份      用户数     排名
       全国        20      
       北十        12   
       南21        8  
       北京        4         1
       天津        3         2
       广东        2         3这种形式数据。
--参考方法--

   SELECT t.*,
          CASE WHEN t.s IN ('全国', '北十', '南21') THEN NULL
              ELSE ROW_NUMBER() OVER(PARTITION BY CASE WHEN t.s IN ('全国','北十','南21') THEN NULL ELSE 1 END ORDER BY t.rs DESC)
          END
     FROM t
     ORDER BY 2 DESC,3 NULLS FIRST
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6747/
本文WWW.DOC100.NET DOC100.NET版权所有。