select * from
(select t.*,rank() over(partition by a order by b desc) rk from tbname t) tt
where tt.rk<3;orselect * from
(select t.*,row_number() over(partition by a order by b desc) rk from tbname t) tt
where tt.rk<3;注意上面两种写法有区别,根据实际情况选用一种。
(select t.*,rank() over(partition by a order by b desc) rk from tbname t) tt
where tt.rk<3;orselect * from
(select t.*,row_number() over(partition by a order by b desc) rk from tbname t) tt
where tt.rk<3;注意上面两种写法有区别,根据实际情况选用一种。
(select t.*,rank() over(partition by a order by b desc) rk from tbname t) tt
where tt.rk<3;
系统提示:
错误位于第1行:
ORA-OO439:未启用特征:OLAP Window Functions
这样的话就比较复杂了。
try:
select * from
tbname t
where (select count(*) from tbname tt where t.a=tt.a and tt.b>t.b)<2;
真是太厉害了,好了,问题解决了
但是我还是不明白,为什么我的系统不支持分析函数呢?
那该怎样安装呢?到哪里找这个东西呢?
回见
同样也谢谢BZSZP
谢谢!!