咨询一个关于rownum的sql语句问题,具体情况如下

update fee set feetype=91003 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order by
sourcefilename) where rownum<=3);
update fee set feetype=91002 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order by
sourcefilename) where rownum<=2);
update fee set feetype=91001 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order by
sourcefilename) where rownum<=1);

想问一下,这语句是做什么用的

慕斯709654
浏览 387回答 2
2回答

30秒到达战场

这三条sql语句的作用应该是 更新一个歌曲排行榜的前1、2、3名吧。至于zxy和hjy不知道是什么,后面的ch应该是中文的意思吧。想要用rownum取查询结果的前几名,一般情况(如果需要以某个字段排序的话)必须嵌套select

ITMISS

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推rownum 对于等于某值的查询条件如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=n(n》1)结果查不到数据rownum》1原因是由于rownum是一个总是从1开始,结果查不到数据rownum对于小于某值的查询条件如果想找到第n条记录以前的记录,当使用rownum<n是能得到n-1条记录的
打开App,查看更多内容
随时随地看视频慕课网APP