不要那么多子查询
改成这样试试
select * from (select rownum as rid,id,hphm,a.lkbh as lk
mc,to_char(jlrq,'yyyy-mm-dd hh24:mi:ss') as jlrq,clsd,'详情' as xq, decode(hpzl,
'01','大型汽车','02','小型汽车','其他') as hpzl,decode(jllx,'0','卡口数据','1','
违法数据','卡口数据') as jllx,decode(sfxg,'0','未修改','1','已修改','未修改') as
 sfxg, decode(jllx,1,decode (sign((clsd-xzsd)/xzsd-0.5),1,'1603','1303'),'未超速
') as wfdm  from kakou.veh_info a where a.jlrq>to_date('2006-10-02','yyyy-mm-dd') 
where rownum<=100 ) t2 where t2.rid>0