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秒到達(dá)戰(zhàn)場
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
這三條sql語句的作用應(yīng)該是 更新一個(gè)歌曲排行榜的前1、2、3名吧。
至于zxy和hjy不知道是什么,后面的ch應(yīng)該是中文的意思吧。
想要用rownum取查詢結(jié)果的前幾名,
一般情況(如果需要以某個(gè)字段排序的話)必須嵌套select
ITMISS
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
對(duì)于rownum來說它是oracle系統(tǒng)順序分配為從查詢返回的行的編號(hào),返回的第一行分配的是1,第二行是2,依此類推
rownum 對(duì)于等于某值的查詢條件
如果希望找到學(xué)生表中第一條學(xué)生的信息,可以使用rownum=1作為條件。但是想找到學(xué)生表中第二條學(xué)生的信息,使用rownum=n(n》1)結(jié)果查不到數(shù)據(jù)
rownum》1原因是由于rownum是一個(gè)總是從1開始,結(jié)果查不到數(shù)據(jù)
rownum對(duì)于小于某值的查詢條件
如果想找到第n條記錄以前的記錄,當(dāng)使用rownum<n是能得到n-1條記錄的
- 2 回答
- 0 關(guān)注
- 476 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
