<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站點

    優秀個人博客鏈接

    官網學習站點

    生活工作站點

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级中文字幕免费乱码专区| 亚洲中文字幕久久精品无码A| 曰韩无码AV片免费播放不卡| 天天摸天天操免费播放小视频| 久久狠狠爱亚洲综合影院| **一级毛片免费完整视| 78成人精品电影在线播放日韩精品电影一区亚洲 | 6080午夜一级毛片免费看6080夜福利| 亚洲AV永久青草无码精品| 免费国产叼嘿视频大全网站| 亚洲第一精品福利| 免费视频专区一国产盗摄| 亚洲一区二区三区成人网站| 日韩免费a级在线观看| 曰批免费视频播放在线看片二 | 日韩午夜理论免费TV影院| 亚洲一区二区中文| 欧亚精品一区三区免费| 国产精品亚洲一区二区在线观看| 免费一级大黄特色大片| 日本免费污片中国特一级| 亚洲第一成年人网站| 日本无吗免费一二区| jizz免费一区二区三区| 亚洲爱情岛论坛永久| 成年女人毛片免费播放人| 无遮挡a级毛片免费看| 久久久亚洲欧洲日产国码农村| 四虎永久在线精品免费观看视频| 亚洲色偷偷综合亚洲av78 | 亚洲美女色在线欧洲美女| 四虎成人精品一区二区免费网站| j8又粗又长又硬又爽免费视频 | 四虎在线免费视频| 精品亚洲成A人在线观看青青| 亚洲人成网亚洲欧洲无码久久| 黄色片在线免费观看| 久久精品无码专区免费| 亚洲av专区无码观看精品天堂| 国产亚洲自拍一区| 我想看一级毛片免费的|