select * from (

創(chuàng)新互聯(lián)建站服務(wù)項目包括紅河哈尼網(wǎng)站建設(shè)、紅河哈尼網(wǎng)站制作、紅河哈尼網(wǎng)頁制作以及紅河哈尼網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,紅河哈尼網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到紅河哈尼省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
select 'A1' as c, a1 as a from tt
union all
select 'A2', a2 from tt
union all
select 'A3', a3 from tt
union all
select 'A4', a4 from tt
) order by a desc
恩,沒弄清楚你要的是什么,不過大概寫一個,參考下。
SELECT ID,名稱,A,RANK()OVER(ORDER BY A) A名次,B,RANK()OVER(ORDER BY B) B名次,C,RANK()OVER(ORDER BY C) C名次,D,RANK()OVER(ORDER BY D) D名次 .......FROM TABLE
嘗試一下。
首先你的size_no直接排序我不知道是按照什么排列的,因為你的size_no中存在#,所以是不可能轉(zhuǎn)為number的。如果想利用number排序那么我建議用instr確定#的位置,然后用substr截取,截取后的值,再to_number進行排序。
至于轉(zhuǎn)為三行那個,個人建議用rownum去做,先按照上面的方式排序,排序后用rownum標注行號,然后用行號-1,然后用行號去除以8,標出整除部分和余數(shù)。
可以到的:
rownum-1 整除部分得數(shù) 余數(shù) size_no
0 0 0
1 0 1
2 0 2
。。。。。
7 0 7
8 1 0
9 1 1
10 1 2
........
18 2 2
19 2 3
而后利用余數(shù)部分進行case when(也就是列轉(zhuǎn)行的工作),利用整除部分得數(shù)進行分組,這樣就可以得到你要的那種結(jié)果了。
1、首先在oracle建立數(shù)據(jù)表的時候,對表的命名有以下規(guī)范:以字母開頭表名長度不能超過30個字符,不能使用oracle保留關(guān)鍵字,可以使用A-Z,a-z,0-9,#,$等。
2、如果表名中包含特殊字符是直接報錯的。如下圖使用了? *。
3、在建立表的時候,數(shù)字也是不能使用表名的開始的。
4、但如果使用雙引號對表名進行規(guī)范的話,是可以建立以數(shù)字或者包含特殊字符的表名的。
5、過這樣建立的表名,在查詢數(shù)據(jù)的時候是非常麻煩的,查詢時也要加雙引號。而且這樣建立的表名,在項目運行的過程中也非常容易造成各種麻煩,所以盡量不要使用。
當前題目:oracle多列怎么排序 oracle多列排序分隔符
文章出自:http://www.yijiale78.com/article14/hhchge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、服務(wù)器托管、定制開發(fā)、標簽優(yōu)化、建站公司、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)