为什么用rownum和子查询提示缺少右括号?

xvfang 2005-08-27 12:01:14
语句如:
select * from (select * from tbllocsecond order by fdstrscandate desc) where rownum<10

...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xvfang 2005-08-27
  • 打赏
  • 举报
回复
up
xvfang 2005-08-27
  • 打赏
  • 举报
回复
to duanzilin
可能是的,8.0的
沝林 2005-08-27
  • 打赏
  • 举报
回复
可能是oracle版本太老了,子查询不支持order by
xvfang 2005-08-27
  • 打赏
  • 举报
回复
我的目的是返回fdstrscandate最大的前10个记录
davidjaxic 2005-08-27
  • 打赏
  • 举报
回复
返回结果
1 8002 0 0 0 0 0 0 0
2 8003 3252 450 2802 0 0 0 0
3 8005 2700 2700 0 0 0 0 0
4 8006 7950 7950 0 0 0 0 0
5 8016 283759.7823784 236783.7823784 46976 15632.3462376 9185.8656 1910.75 4535.7306376
6 8027 137210.1118992 131323.2078992 5886.904 0 0 0 0
7 8800 147632.2964856 116172.9696884 31459.3267972 3304.8 440 2864.8 0
8 8801 3600 3600 0 56 0 56 0
9 8810 70998.38662032 33228.5988916 37769.78772872 22544.1857608 5105 17439.1857608 0
davidjaxic 2005-08-27
  • 打赏
  • 举报
回复
不知道为什么你的不可以~~我这么做就可以了
select *
from(Select cntunn,
sum(case when a.cntlct = '001' and CNTTES in ('0','1') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('0','1') then a.cntlbo*b.ratval else 0 end)/10000 as zcall01,
sum(case when a.cntlct = '001' and CNTTES in ('0') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('0') then a.cntlbo*b.ratval else 0 end)/10000 as zc01,
sum(case when a.cntlct = '001' and CNTTES in ('1') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('1') then a.cntlbo*b.ratval else 0 end)/10000 as gz01,
sum(case when a.cntlct = '001' and CNTTES in ('2','3','4') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('2','3','4') then a.cntlbo*b.ratval else 0 end)/10000 as blall01,
sum(case when a.cntlct = '001' and CNTTES in ('2') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('2') then a.cntlbo*b.ratval else 0 end)/10000 as cj01,
sum(case when a.cntlct = '001' and CNTTES in ('3') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('3') then a.cntlbo*b.ratval else 0 end)/10000 as ky01,
sum(case when a.cntlct = '001' and CNTTES in ('4') then a.cntlbo
when a.cntlct <>'001' and CNTTES in ('4') then a.cntlbo*b.ratval else 0 end)/10000 as ss01
from defcntpf a,base_nacsxrt b
where to_char(cntsdt,'yyyymmdd') = '20050729'
and b.gendate='20050729' and (a.cntscd1 <>'0795' or a.cntscd1 is null)
and substr(a.cntlcn,1,1) not in ('A','B','C')
and a.cntlct=b.curcde
group by cntunn)
where rownum<10

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧