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

请问查询排序有关问题

更新时间: 2014-01-05 02:12:36 责任编辑: Author_N1

 

请教查询排序问题
seqno   xxx    yyy
1        A      5
2        A      5
3        A      4
4        A      5
5        B      5
6        B      5
7        B      5
8        B      5

我想查表里的数据,并且排序

排序是:先seqno正序,然后yyy里面排倒序并且xxx里面A的倒序
就是yyy里面有个4,我要排倒序,并且要在A值里面排最后

最后查询的效果希望是:

seqno   xxx    yyy
1        A      5
2        A      5
4        A      5
3        A      4
5        B      5
6        B      5
7        B      5
8        B      5
--参考方法--
这样?


with t1 as
(
     select 1 c1,'A' c2,6 c3 from dual union all
     select 2 c1,'A' c2,5 c3 from dual union all
     select 3 c1,'A' c2,3 c3 from dual union all
     select 4 c1,'A' c2,8 c3 from dual union all
     select 5 c1,'B' c2,5 c3 from dual union all
     select 6 c1,'B' c2,7 c3 from dual union all
     select 7 c1,'B' c2,4 c3 from dual union all
     select 8 c1,'B' c2,5 c3 from dual 
)

select * 
from t1
order by c2,c3 desc,c1

    c1    c2    c3
-------------------------------
1 4 A 8
2 1 A 6
3 2 A 5
4 3 A 3
5 6 B 7
6 5 B 5
7 8 B 5
8 7 B 4


--参考方法--
听着 需求应该就是这样吧  如果yyy相同 就按seqno排序 如果不同 按yyy排序 ?

上面这么写 针对提问的要求 可以满足   
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

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