亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

group_concat函數(shù)詳解

系統(tǒng) 2951 0

問了好多人,都不知道group_concat這個(gè)函數(shù)。

?

這個(gè)函數(shù)好啊,能將相同的行組合起來,省老事了。

?

MySQL中g(shù)roup_concat函數(shù)


完整的語法如下:


group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

?

基本查詢

      select * from aa; 


    

+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec)

?

以id分組,把name字段的值打印在一行,逗號(hào)分隔(默認(rèn))

      select id,group_concat(name) from aa group by id; 


    

+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

?

以id分組,把name字段的值打印在一行,分號(hào)分隔

      select id,group_concat(name separator ';') from aa group by id;  


    

+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)

?

以id分組,把去冗余的name字段的值打印在一行,


逗號(hào)分隔

      select id,group_concat(distinct name) from aa group by id;  


    

+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

?

以id分組,把name字段的值打印在一行,逗號(hào)分隔,以name排倒序

      select id,group_concat(name order by name desc) from aa group by id;  


    

+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

?

測(cè)試sql,項(xiàng)目中用到的。

      
        SELECT
      
      
        

        EMPLOYEES.EMPID

        ,EMPLOYEES.EMPNAME

        ,DEPARTMENTS.DEPARTMENTNAME

        ,EMPLOYEES.DEPTID

        ,EMPLOYEES.EMPPWD

        ,EMPLOYEES.INSIDEEMAIL

        ,EMPLOYEES.OUTSIDEEMAIL

        ,EMPLOYEES.DELEFLAG

        ,EMPLOYEES.EMPCLASS

        ,(CONCAT(
      
      
        '
      
      
        [
      
      
        '
      
      , 
      
        <
      
      span style
      
        =
      
      "color: #ff0000;"
      
        >
      
      GROUP_CONCAT
      
        </
      
      span
      
        >
      
      
        

(ROLE.Role_Name SEPARATOR 
      
      
        '
      
      
        ],[
      
      
        '
      
      ), 
      
        '
      
      
        ]
      
      
        '
      
      )) 
      
        AS
      
      
         ROLENAME

        ,(concat( 
      
      
        '
      
      
        [
      
      
        '
      
      
        , (

            
      
      
        SELECT
      
      
        <
      
      span style
      
        =
      
      "color: #ff0000;"
      
        >
      
      GROUP_CONCAT
      
        </
      
      span
      
        >
      
      
        

(DEPARTMENTS.DEPARTMENTNAME separator 
      
      
        '
      
      
        ],[
      
      
        '
      
      
        )

                
      
      
        FROM
      
      
        

                    EMP_ROLE_DEPT

                        
      
      
        LEFT
      
      
        JOIN
      
      
         DEPARTMENTS

                            
      
      
        ON
      
      
         (

                                DEPARTMENTS.DEPARTMENTID 
      
      
        =
      
      
         EMP_ROLE_DEPT.DEPTID

                                
      
      
        AND
      
       DEPARTMENTS.DELEFLAG 
      
        =
      
      
        0
      
      
        

                            )

                
      
      
        GROUP
      
      
        BY
      
      
        

                    EMP_ROLE_DEPT.EMPID

                
      
      
        HAVING
      
      
        

                    EMP_ROLE_DEPT.EMPID 
      
      
        =
      
      
         EMPLOYEES.EMPID

        ),
      
      
        '
      
      
        ]
      
      
        '
      
      )) 
      
        AS
      
      
         DEPARTMENTRIGHT

    
      
      
        FROM
      
      
        

        EMPLOYEES

            
      
      
        LEFT
      
      
        JOIN
      
      
         DEPARTMENTS

                
      
      
        ON
      
      
         (

                    DEPARTMENTS.DEPARTMENTID 
      
      
        =
      
      
         EMPLOYEES.DEPTID

                    
      
      
        AND
      
       DEPARTMENTS.DELEFLAG 
      
        =
      
      
        0
      
      
        

                )

            
      
      
        LEFT
      
      
        JOIN
      
      
         ROLE_EMP

                
      
      
        ON
      
       (ROLE_EMP.EMP_ID 
      
        =
      
      
         EMPLOYEES.EMPID)

            
      
      
        LEFT
      
      
        JOIN
      
      
         ROLE

                
      
      
        ON
      
       (ROLE_EMP.ROLE_ID 
      
        =
      
      
         ROLE.ROLE_ID)


      
      
        <
      
      span style
      
        =
      
      "color: #ff0000;"
      
        >
      
      
        GROUP
      
      
        BY
      
      
        

        EMPLOYEES.EMPID
      
      
        </
      
      span
      
        >
      
      
        HAVING
      
      
        

        EMPLOYEES.EMPID 
      
      
        LIKE
      
      
        '
      
      
        %%
      
      
        '
      
      
        AND
      
       EMPLOYEES.EMPNAME 
      
        LIKE
      
      
        '
      
      
        %%
      
      
        '
      
      
        AND
      
       EMPLOYEES.DELEFLAG 
      
        =
      
      
        0
      
      
        AND
      
      
         (

            EMPLOYEES.EMPCLASS 
      
      
        =
      
      
        '
      
      
        1
      
      
        '
      
      
        OR
      
       EMPLOYEES.EMPCLASS 
      
        =
      
      
        '
      
      
        2
      
      
        '
      
      
        

        )

        
      
      
        AND
      
       EMPLOYEES.DEPTID 
      
        =
      
      
        '
      
      
        001
      
      
        '
      
       LIMIT 
      
        0
      
      
        

        ,
      
      
        16
      
    

?

group_concat函數(shù)詳解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲精品96欧美一区二区 | 91精品国产高清91久久久久久 | 亚洲视频手机在线 | 久热在线视频 | 99国产超薄丝袜足j在线观看 | 欧美一级毛片免费高清的 | 亚洲黄色网址大全 | 香蕉久久精品 | 羞羞的视频在线观看 | 99视频九九精品视频在线观看 | 成年女人毛片 | 男女羞羞视频免费观看 | 精品一区二区三区视频在线观看免 | 久草久草视频 | 狠狠狠狠狠狠狠狠狠狠 | 成年午夜性视频免费播放 | 99re5在线精品视频热线 | 激情亚洲婷婷 | 男人边吃奶边爱边做视频日韩 | 亚洲不卡 | 天天综合在线视频 | 久久成人精品视频 | 中文字幕 亚洲精品 第1页 | 在线小视频国产 | 亚洲一区二区三区久久精品 | 亚洲综合精品香蕉久久网97 | 亚洲精品在线看 | 日韩精品成人在线 | 97视频在线观看播放 | 国产精品亚洲精品一区二区三区 | 四虎澳门永久8848在线影院 | 亚洲香蕉国产高清在线播放 | 亚洲黄色网址大全 | 国模无水印一区二区三区 | 国产精品一区二区不卡 | 亚洲国产韩国一区二区 | 久久综合日韩亚洲精品色 | 精品视频 九九九 | 精品一区二区在线观看 | 久久草在线视频播放 | 久久综合网久久综合 |