日期:2014-05-17  浏览次数:20740 次

oralce语句按出现次数排序问题
现在有表
id  name count
1   a         1
2   b         5
3   c         4
4   a         3
5   b         2

我想实现把count大于1的数据按name的出现次数的倒序排序

想得到的结果
id  name count
2   b         5
5   b         2
3   c         4
4   a         3

------解决方案--------------------


with t as (
select 1 a,'a' b,1 c from dual union all
select 2 a,'b',5 from dual union all
select 3 a,'c',4 from dual union all
select 4 a,'a',3 from dual union all
select 5 a,'b',2 from dual 

select a,b,c from (
select a,b,c,count(*)over(partition by b ) d from t where c>1
) order by d desc,c desc