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

Oracle多行數(shù)據(jù)合并為一行數(shù)據(jù)并將列數(shù)據(jù)轉(zhuǎn)為字段名三種方式

 更新時間:2024年06月28日 09:12:35   作者:herozhi0821  
怎么合并多行記錄的字符串,一直是oracle新手喜歡問的SQL問題之一,下面這篇文章主要給大家介紹了關(guān)于Oracle多行數(shù)據(jù)合并為一行數(shù)據(jù)并將列數(shù)據(jù)轉(zhuǎn)為字段名的三種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

實現(xiàn)查詢效果

原數(shù)據(jù)

FZPROJECTVALUE
1電腦$1600
1手機(jī)$12
1導(dǎo)管$1
2電腦$2
2手機(jī)$22

方式一:MAX()

數(shù)據(jù)效果

FZ電腦手機(jī)導(dǎo)管
1$1600$12$1
2$2$22

SQL

根據(jù)FZ字段篩選并分組,MAX支持字符內(nèi)容,SUN()同樣支持,但是只能是數(shù)字類型。

SELECT FZ,
	MAX(CASE WHEN PROJECT = '電腦' THEN VALUE END) 電腦,
	MAX(CASE WHEN PROJECT = '手機(jī)' THEN VALUE END) 手機(jī),
	MAX(CASE WHEN PROJECT = '導(dǎo)管' THEN VALUE END) 導(dǎo)管 
FROM TABLE01 
GROUP BY FZ

此方法沒有數(shù)據(jù)庫類型限制,MySQL、Oracle、達(dá)夢均可。

方式二:LISTAGG()

數(shù)據(jù)效果

FZPROJECT
1電腦,手機(jī),導(dǎo)管

此方法僅僅是合并列內(nèi)容,便于整合。

SELECT FZ,LISTAGG(PROJECT,',') PROJECT 
FROM TABLE01 
WHERE FZ = 1;

listagg函數(shù)是在oracle11g后新增的,是一個實現(xiàn)字符串聚合的內(nèi)建函數(shù)。也可以實現(xiàn)行轉(zhuǎn)列的功能,將某個字段的多行數(shù)據(jù)合并成一條。

用法說明:

  • LISTAGG('需要拼接的數(shù)據(jù)表中的字段','分隔符') WITHIN GROUP( ORDER BY '同前面,需要拼接的數(shù)據(jù)表中的字段')
  • 用法類似聚合函數(shù),通過Group by語句,把每個Group的一個字段,拼接起來。

方式三:WM_CONCAT()

數(shù)據(jù)效果

FZPROJECT
1電腦,手機(jī),導(dǎo)管
2電腦,手機(jī)

此方法與方法二相關(guān)相同,但適合于Oracle數(shù)據(jù)庫。

SELECT FZ,WM_CONCAT(PROJECT,',') PROJECT 
FROM TABLE01 
--WHERE FZ = 1
GROUP BY FZ;

總結(jié) 

到此這篇關(guān)于Oracle多行數(shù)據(jù)合并為一行數(shù)據(jù)并將列數(shù)據(jù)轉(zhuǎn)為字段名的文章就介紹到這了,更多相關(guān)Oracle多行數(shù)據(jù)合并一行數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Oracle數(shù)據(jù)庫中同時更新兩張表的簡單方法

    在Oracle數(shù)據(jù)庫中同時更新兩張表的簡單方法

    這篇文章主要介紹了在Oracle數(shù)據(jù)庫中同時更新兩張表的簡單方法,同時介紹了一種差異性合并更新的方法,需要的朋友可以參考下
    2015-11-11
  • Oracle存儲過程里操作BLOB的字節(jié)數(shù)據(jù)的辦法

    Oracle存儲過程里操作BLOB的字節(jié)數(shù)據(jù)的辦法

    該篇文章介紹了如何在Oracle存儲過程中操作BLOB的字節(jié)數(shù)據(jù),作者研究了如何獲取BLOB的字節(jié)長度、如何使用DBMS_LOB包進(jìn)行BLOB操作、如何進(jìn)行字節(jié)級操作以及如何使用UTL_RAW包,感興趣的朋友一起看看吧
    2025-03-03
  • oracle指定排序的方法詳解

    oracle指定排序的方法詳解

    本篇文章是對oracle指定排序的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解Oracle中sqlldr的具體用法

    詳解Oracle中sqlldr的具體用法

    這篇文章主要介紹了詳解Oracle中sqlldr的用法,SQLLDR可以在極短的時間內(nèi)加載數(shù)量龐大的數(shù)據(jù),這是一個非常有用的工具,可用于從多種平面文件格式向Oracle數(shù)據(jù)庫中加載數(shù)據(jù),需要的朋友可以參考下
    2023-07-07
  • Orcale權(quán)限、角色查看創(chuàng)建方法

    Orcale權(quán)限、角色查看創(chuàng)建方法

    查看當(dāng)前用戶擁有的系統(tǒng)權(quán)限、創(chuàng)建用戶、授予擁有會話的權(quán)限、授予無空間限制的權(quán)限等等,感興趣的朋友可以參考下哈,希望對你有所幫助
    2013-05-05
  • 使用 Oracle 數(shù)據(jù)庫進(jìn)行基于 JSON 的應(yīng)用程序開發(fā)

    使用 Oracle 數(shù)據(jù)庫進(jìn)行基于 JSON 的應(yīng)用程序開發(fā)

    本文檔概述了 Oracle Database 19c 和 21c 版本中包含的功能和增強(qiáng)功能以??及相關(guān)的 Oracle 技術(shù),以及為什么 Oracle Database 中的 JSON 功能非常適合滿足當(dāng)今開發(fā)人員尋求文檔存儲來持久化、查詢和處理應(yīng)用程序數(shù)據(jù)的需求,感興趣的朋友一起看看吧
    2025-04-04
  • Oracle性能究極優(yōu)化 下

    Oracle性能究極優(yōu)化 下

    Oracle性能究極優(yōu)化 下...
    2007-03-03
  • ORACLE數(shù)據(jù)表分析

    ORACLE數(shù)據(jù)表分析

    這篇文章介紹了ORACLE進(jìn)行數(shù)據(jù)表分析的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 解決The?Network?Adapter?could?not?establish?the?conn問題

    解決The?Network?Adapter?could?not?establish?the?conn問題

    這篇文章主要介紹了解決The?Network?Adapter?could?not?establish?the?conn問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合

    一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合

    這篇文章主要介紹了一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合,包括in和not in的使用等一些細(xì)節(jié)上的使用建議,需要的朋友可以參考下
    2016-01-01

最新評論

抚松县| 大渡口区| 绿春县| 花垣县| 和平区| 海淀区| 沧州市| 建瓯市| 武功县| 苗栗县| 盐源县| 扬中市| 彭州市| 玛沁县| 高雄市| 安西县| 克什克腾旗| 合水县| 灵寿县| 柯坪县| 岳池县| 福清市| 南江县| 灵丘县| 宁南县| 井研县| 象山县| 应城市| 同仁县| 三原县| 清镇市| 沁水县| 色达县| 清苑县| 安乡县| 古蔺县| 公主岭市| 印江| 南靖县| 获嘉县| 彰化县|