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

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

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

    SQL關于分組合并字段解決方案

    之前遇到分組后合并某字段得問題,我都會自己去寫個函數去實現。直至今天我才知道,原來各個數據庫都提供了相關的函數,只是我不知道罷了。
    mysql提供的函數功能最為強大,oracle和postgresql提供的函數只能實現單個字段合并

    1.mysql:group_concat函數,demo如下:
    表數據:

    SQL:SELECT group_concat(name,',',remark order by id desc separator ';'FROM test group by age;
    運行結果:


    2.oracle:wmsys.wm_concat函數,功能比較簡單,只能實現單字段間的合并,demo如下:
    表數據:


    SQL:
    SELECT DISTINCT
        wmsys.wm_concat (NAME) OVER (
            PARTITION BY AGE
            ORDER BY
                (SELECT 1 FROM dual)
        )
    FROM
        (
            SELECT
                *
            FROM
                T_TEST
            ORDER BY
                ID DESC
        ) T
    結果:


    3.Postgresql:array_to_string以及string_agg兩個函數都能實現,推薦string_agg,demo如下:
    表數據:

    SQL:
         SELECT id,array_to_string(ARRAY(SELECT unnest(array_agg(name)) order by 1),';'FROM t_kenyon GROUP BY id ORDER BY id;

         SELECT id,string_agg(name,';'FROM t_kenyon GROUP BY id ORDER BY id;
    結果:

    posted on 2014-12-31 15:49 Mr.lu 閱讀(909) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国内成人精品亚洲日本语音| 日韩亚洲国产综合高清| 免费一级做a爰片久久毛片潮| 无码视频免费一区二三区| 无码人妻一区二区三区免费看| 97无码免费人妻超级碰碰夜夜| 亚洲老熟女@TubeumTV| 99re在线精品视频免费| 亚洲美女色在线欧洲美女| AV无码免费永久在线观看| 国产人成亚洲第一网站在线播放| 国内免费高清在线观看| 亚洲欧美黑人猛交群| 免费亚洲视频在线观看| 国产成人高清精品免费观看| 99精品免费观看| 亚洲综合激情另类小说区| 国产va免费精品观看精品 | 国产午夜亚洲精品不卡电影| 国产人成免费视频| 亚洲丝袜中文字幕| 美女在线视频观看影院免费天天看 | 女人被免费视频网站| 亚洲va无码专区国产乱码| 久久久久成人精品免费播放动漫| 91久久亚洲国产成人精品性色| 无码中文字幕av免费放| 国产AV无码专区亚洲AV琪琪 | 亚洲欧洲∨国产一区二区三区| 久久免费观看国产精品| 在线精品亚洲一区二区| 亚洲精品成人久久久| 精品久久亚洲一级α| 国产亚洲欧洲精品| 岛国岛国免费V片在线观看| 国产在线19禁免费观看| 亚洲一区二区三区免费视频| 国产午夜免费福利红片| 日韩在线不卡免费视频一区| 亚洲日本天堂在线| 亚洲国产成人片在线观看无码 |