<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    新的起點 新的開始

    快樂生活 !

    列轉行 聚合的簡單實現 ORACLE WM_CONCAT LISTAGG 函數

    項目中有個需求,將關聯出來的數據以特定的字段將其他某一自動聚合。例子如下:

     

    1    B1
    1    B2
    1    B3
    2    B4
    2    B5
    3    B6

    to

     


    1    B1,B2,B3
    2    B4,B5
    3    B6

     

      拿到手就想到用存儲過程,其實還有更簡單的方式。那就是oracle 提供的字符串聚合函數。

     

    WM_CONCAT Built-in Function (Not Supported)

    If you are not running 11g Release 2, but are running a version of the database where the WM_CONCAT function is present, then it is a zero effort solution as it performs the aggregation for you. It is actually an example of a user defined aggregate function described below, but Oracle have done all the work for you.

     

    LISTAGG Analystic Function in 11g Release 2

    The LISTAGG analytic function was introduced in Oracle 11g Release 2, making it very easy to aggregate strings. The nice thing about this function is it also allows us to order the elements in the concatenated list. If you are using 11g Release 2 you should use this function for string aggregation.

     

    Example 如下:


    CREATE TABLE  "TESTAGG"
      (
        "A" VARCHAR2(20 BYTE),
        "B" VARCHAR2(20 BYTE)
      )


    INSERT INTO "TESTAGG" (A, B) VALUES ('1', 'B1')
    INSERT INTO "TESTAGG" (A, B) VALUES ('1', 'B2')
    INSERT INTO "TESTAGG" (A, B) VALUES ('1', 'B3')
    INSERT INTO "TESTAGG" (A, B) VALUES ('2', 'B4')
    INSERT INTO "TESTAGG" (A, B) VALUES ('2', 'B5')
    INSERT INTO "TESTAGG" (A, B) VALUES ('3', 'B6')

    select * from testAgg

    1    B1
    1    B2
    1    B3
    2    B4
    2    B5
    3    B6

    select  a  ,wm_concat (b) as policinams from testagg  group by a order by a

    select  a ,LISTAGG(b,',' ) within group(order by a) as b from testagg group by

    1    B1,B2,B3
    2    B4,B5
    3    B6

    posted on 2012-09-26 22:40 advincenting 閱讀(2498) 評論(0)  編輯  收藏 所屬分類: 數據庫相關

    公告

    Locations of visitors to this pageBlogJava
  • 首頁
  • 新隨筆
  • 聯系
  • 聚合
  • 管理
  • <2012年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    統計

    常用鏈接

    留言簿(13)

    隨筆分類(71)

    隨筆檔案(179)

    文章檔案(13)

    新聞分類

    IT人的英語學習網站

    JAVA站點

    優秀個人博客鏈接

    官網學習站點

    生活工作站點

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 丰满人妻一区二区三区免费视频| 亚洲人成在线中文字幕| 麻豆安全免费网址入口| 日本高清免费不卡在线| 亚洲欧美日韩中文字幕一区二区三区 | 在线免费播放一级毛片| 亚洲一级特黄无码片| 又粗又长又爽又长黄免费视频| 国产成人高清精品免费鸭子| 精品久久久久久久久亚洲偷窥女厕| 四虎成人精品一区二区免费网站| 国产 亚洲 中文在线 字幕| 永久免费av无码网站韩国毛片| 久久精品国产亚洲AV蜜臀色欲| 日韩a级毛片免费观看| 免费国产a理论片| 亚洲熟妇av一区二区三区| 免费精品无码AV片在线观看| 亚洲最大中文字幕| 国内精品免费视频自在线| av无码免费一区二区三区| 亚洲人成网站色7799| 无码人妻丰满熟妇区免费| 久久精品国产亚洲av高清漫画| 最近免费中文字幕4| 精品在线视频免费| 亚洲国产精品乱码一区二区 | 亚洲另类自拍丝袜第1页| 全免费一级午夜毛片| 久香草视频在线观看免费| 久久精品国产亚洲麻豆| 麻豆最新国产剧情AV原创免费 | 亚洲日韩中文字幕日韩在线| 你懂的免费在线观看网站| 精品久久久久久亚洲精品| 亚洲国产一区明星换脸| 四虎国产成人永久精品免费| 亚洲一区在线免费观看| 亚洲成av人片不卡无码久久| 欧洲一级毛片免费| 四虎成人精品国产永久免费无码|