问两个plsql中查询的语句怎么写了?
一, 
 查询表1中字段b有重复的记录? 
 二, 
 查询表1,按字段b排序,取最大的三条记录?   
------解决方案--------------------1 
 select b from 表1 group by b having count(*)> 1   
 2 
 select * from 表1 where rownum <=3 order by b desc ;
------解决方案--------------------select t.* from (select * from 表1 rder by b desc )t where rownum <=3
------解决方案--------------------学习
------解决方案--------------------第二题select * from 表1 where rownum <=3 order by b desc ;这样写是错的。 
 应该用jiazheng(飛飞)的写法或者使用 
 select row_number() over (order by b) rn from  表1  where rn <=3
------解决方案--------------------1 
 select b from 表1 group by b having count(*)> 1 
 --这样作的结果是只能查询出字段B的值,这样作有效吗?在实际工作中,大多数情况下,需要的不是这样的结果.要得到的是这条记录的其他字段或者*,所以这句话跟本不实用. 
 2 
 select * from 表1 where rownum <=3 order by b desc ; 
------解决方案--------------------(1)select * from 表1 where rownum <=3 order by b desc    
 (2)select t.* from (select * from 表1 rder by b desc )t where rownum <=3   
 关于这上面两句,(1)错在什么地方呢。出来的结果好像是一样的啊。 
 最开始,我把第一句理解为先去3条,再降序,可是好像查询的结果,好像也是先 
 降序,再取前3条的。能详细说明一下吗?(1)和(2)的区别。
------解决方案--------------------没人回答,顶
------解决方案--------------------(1)rownum依據data insert的先後順序不同會有改變. 
 應該用(2)
------解决方案--------------------(1)rownum依據data insert的先後順序不同會有改變. 
 應該用(2) 
 ===========================正解`