为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕斯709654 2021-08-21 14:14:32
update fee set feetype=91003 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order bysourcefilename) where rownum<=3);update fee set feetype=91002 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order bysourcefilename) where rownum<=2);update fee set feetype=91001 where sourcefilename in (select * from (select sourcefilename from songlist where videotype in ('hjych','zxych') order bysourcefilename) where rownum<=1);想问一下,这语句是做什么用的
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

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

查看完整回答
反对 回复 2021-08-30
?
ITMISS

TA贡献1871条经验 获得超8个赞

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

查看完整回答
反对 回复 2021-08-30
  • 2 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信