新聞中心
oracle同一張表幾個(gè)數(shù)據(jù)怎么一行顯示,如下
select?
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括宣州網(wǎng)站建設(shè)、宣州網(wǎng)站制作、宣州網(wǎng)頁(yè)制作以及宣州網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,宣州網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到宣州省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
sum(case?when?t.lb='隨遷子女'and?t.jieduan='3'and?t.hang='8'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?一,
sum(case?when?t.lb='其中:外省遷入'and?t.jieduan='3'?and?t.hang?='9'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?二,
sum(case?when?t.lb='總計(jì)'?and?t.jieduan='3'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?三,
sum(case?when?t.cxlb?in?('111','112')?and?t.jieduan='3'?and?t.lb='總計(jì)'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?四,
sum(case?when?t.cxlb?in?('121','122','123')?and?t.jieduan='3'?and?t.lb='總計(jì)'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?五,
sum(case?when?t.cxlb?in?('210','220')?and?t.jieduan='3'?and?t.lb='總計(jì)'?then?t.cyinj+t.cernj+t.csannj+t.csinj?else?0?end)?六
from?xsrs?t
先試試,有問題繼續(xù)追問,別名我起的一,二,三……,你可以自己改下別名
oracle 顯示表內(nèi)容時(shí) 什么語(yǔ)句可以把顯示的列都在一行顯示完成
需要用wm_concat將各字段連接。
如,test表中有如下數(shù)據(jù):
現(xiàn)要將name字段連接,顯示在一行,可用如下語(yǔ)句:
select?wm_concat(name)?from?test;
結(jié)果:
Oracle里單對(duì)多數(shù)據(jù)如何在一行中展示
Oracle一列的多行數(shù)據(jù)拼成一行顯示字符
oracle 提供了兩個(gè)函數(shù)WMSYS.WM_CONCAT 和 ListAgg函數(shù)。
先介紹:WMSYS.WM_CONCAT
例:
id name
1 aa
2 bb
3 cc
要的結(jié)果是"aa,bb,cc"
select WMSYS.WM_CONCAT(a.name) from user a
這樣的話,查詢出的結(jié)果:"aa,bb,cc"
分隔符如果不需要用英文的逗號(hào),需要改成別的符號(hào)比如分號(hào)的,可以用下面的方法替換下:
select replace(WMSYS.WM_CONCAT(a.name),',',';') from user a
結(jié)果:"aa;bb;cc"
======================================================================
ListAgg函數(shù)
listagg函數(shù)的語(yǔ)法結(jié)構(gòu)如下:
LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]
listagg雖然是聚合函數(shù),但可以提供分析功能(比如可選的OVER()子句)。使用listagg中,下列中的元素是必須的:
?需要聚合的列或者表達(dá)式
?WITH GROUP 關(guān)鍵詞
?分組中的ORDER BY子句
例子:
DEPTNO ENAME
--------- ----------
10 CLARK
10 KING
10 MILLER
20 ADAMS
20 FORD
20 JONES
按照DEPTNO字段分組,對(duì)結(jié)果集進(jìn)行字符串聚合,結(jié)果如下:
DEPTNO AGGREGATED_ENAMES
--------- -------------------------
10 CLARK,KING,MILLER
20 ADAMS,FORD,JONES
SQL:
SELECT deptno,LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;
新聞名稱:oracle怎么一行表示,oracle 或用什么表示
文章分享:http://fisionsoft.com.cn/article/hshcdj.html