最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle實(shí)現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié)

 更新時(shí)間:2023年04月24日 10:42:01   作者:濤聲依舊叭  
本文主要介紹了Oracle實(shí)現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

有能耗表,記錄各個(gè)城市水、電、熱的能耗情況,表結(jié)構(gòu)如下:

名稱(chēng)類(lèi)型備注
E_CODEVARCHAR2(10)城市的CODE
E_VALUENUMBER能耗值,包括水耗、電耗、熱耗
E_TIMEVARCHAR2(20)時(shí)間
E_TYPENUMBER能耗類(lèi)型,0:水耗,1:電耗,2:熱耗

插入測(cè)試數(shù)據(jù),如下:

E_CODEE_VALUEE_TIMEE_TYPE
BJ20.052018-08-29 01:00:000
BJ36.352018-08-29 01:00:001
BJ45.2232018-08-29 01:00:002
SH22.952018-08-29 01:00:000
SH18.45562018-08-29 01:00:001
SH33.2542018-08-29 01:00:002
GZ48.5542018-08-29 01:00:000
GZ21.1122018-08-29 01:00:001
GZ25.6252018-08-29 01:00:002

上面的表格是一張豎表,而我們想得到的是橫表,即行轉(zhuǎn)列,獲得如下結(jié)果

編號(hào)時(shí)間水耗電耗熱耗
SH2018-08-29 01:00:0022.9518.455633.254
GZ2018-08-29 01:00:0048.55421.11225.625
BJ2018-08-29 01:00:0020.0536.3545.223

實(shí)現(xiàn)豎表轉(zhuǎn)橫表的查詢(xún),即行轉(zhuǎn)列,通常有兩種常用方法。

第一種:使用decode實(shí)現(xiàn)

SELECT
    E_CODE,
    E_TIME,
    SUM( DECODE(E_TYPE, 0, E_VALUE) ) AS WATER_ENERGY,--水耗
    SUM( DECODE(E_TYPE, 1, E_VALUE) ) AS ELE_ENERGY,--電耗
    SUM( DECODE(E_TYPE, 2, E_VALUE) ) AS HEAT_ENERGY--熱耗
FROM
    THTF_ENERGY_TEST
GROUP BY 
    E_CODE,E_TIME

輸出如下:

E_CODEE_TIMEWATER_ENERGYELE_ENERGYHEAT_ENERGY
SH2018-08-29 00:00:0022.9518.445633.2540
GZ2018-08-29 00:00:0048.554021.112025.6250
BJ2018-08-29 00:00:0020.0536.3545.2230

第二種:使用case when實(shí)現(xiàn)

簡(jiǎn)單case when函數(shù):

SELECT
    E_CODE,
    E_TIME,
    SUM( CASE E_TYPE WHEN 0 THEN E_VALUE ELSE 0 END ) AS WATER_ENERGY,--水耗
    SUM( CASE E_TYPE WHEN 1 THEN E_VALUE ELSE 0 END ) AS ELE_ENERGY,--電耗
    SUM( CASE E_TYPE WHEN 2 THEN E_VALUE ELSE 0 END ) AS HEAT_ENERGGY--熱耗
FROM
    THTF_ENERGY_TEST
GROUP BY 
    E_CODE,E_TIME

輸出結(jié)果同上:

E_CODEE_TIMEWATER_ENERGYELE_ENERGYHEAT_ENERGY
SH2018-08-29 00:00:0022.9518.445633.2540
GZ2018-08-29 00:00:0048.554021.112025.6250
BJ2018-08-29 00:00:0020.0536.3545.2230

CASE WHEN函數(shù)功能很強(qiáng)大、實(shí)用,使用起來(lái)也簡(jiǎn)單易懂。在此篇文章詳細(xì)介紹:CASE WHEN 用法詳解

到此這篇關(guān)于Oracle實(shí)現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié)的文章就介紹到這了,更多相關(guān)Oracle 豎表轉(zhuǎn)橫表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

长子县| 安图县| 宝丰县| 康保县| 磴口县| 诸暨市| 拜城县| 子长县| 镇安县| 津南区| 镇巴县| 大名县| 洛隆县| 永安市| 莱州市| 新津县| 中阳县| 龙口市| 冕宁县| 会昌县| 墨玉县| 瓮安县| 虎林市| 仁怀市| 孝感市| 绥宁县| 同江市| 方山县| 博湖县| 龙井市| 印江| 文安县| 宁波市| 北票市| 盐津县| 兖州市| 南江县| 克拉玛依市| 喀喇| 苍溪县| 固原市|