select a.* ,
(select ywdm from wewu where rownum=1 and phone=a.phone order by id desc )
from dnzz_zcyh a ORA-00907:缺失右括号,SQL SEEVER中子查询TOP语法,在这为什么会报错,我就是想实现根据PHONE对应,查出出最后一条ywdm,不用order by id desc就不会报错,如果不用那么我的rownum=1就没有含义,也没有达到我的目的。特地请大家支持帮助,分不多啦。
(select ywdm from wewu where rownum=1 and phone=a.phone order by id desc )
from dnzz_zcyh a ORA-00907:缺失右括号,SQL SEEVER中子查询TOP语法,在这为什么会报错,我就是想实现根据PHONE对应,查出出最后一条ywdm,不用order by id desc就不会报错,如果不用那么我的rownum=1就没有含义,也没有达到我的目的。特地请大家支持帮助,分不多啦。
select a.* ,
(select ywdm from wewu where rownum=1 and phone=a.phone)
from dnzz_zcyh a
select c.ywdm
from (
select rownum rn,ywdm
from dnzz_zcyh a,wewn b
where a.phone=b.phone
order by id desc) c
where rn = 1
oracle rownum分页
select a.*,d.ywdm
from dnzz_zcyh a,
(select c.ywdm,c.phone
from (
select rownum rn,b.ywdm,a.phone
from dnzz_zcyh a,wewn b
where a.phone=b.phone
order by b.id desc) c
where c.rn = 1) d
where a.phone=d.phone
/
但是这有一个顺序,就是执行查询时先解析查询条件,然后分配rownum,最后分组,排序等。
所以为了达到先排序后rownum的目的,要使用子查询:
select * from (select * from table order ...) where rownum......