Mysql合并查詢結果

來源:互聯網
上載者:User

本文通過執行個體介紹MySQL中的group_concat函數的使用方法,比如select group_concat(name) 。

MySQL中group_concat函數

完整的文法如下:

group_concat([DISTINCT] 要串連的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔字元'])

 

基本查詢 

mysql> 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欄位的值列印在一行,逗號分隔(預設) 

mysql> 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欄位的值列印在一行,分號分隔 

mysql> 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欄位的值列印在一行, 

逗號分隔

 

mysql> 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欄位的值列印在一行,逗號分隔,以name排倒序 

mysql> 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)

 

在工作中在庫總匯入好友ID的時候遇見的問題,在uchome_friend中的好友都是一一對應的存在資料庫中,而我的新庫中好友的ID是使用逗號分割存到一個欄位中的,現在我要將uchome_friend的好友匯入到新的庫中,首先肯定是要分組的,然後按照UID分組之後該如果將FUID串連成1,2,3這樣的形式呢,我知道在MYSQL中是有個concat()函數來串連字元的,但是這個函數只能處理這樣的類型,concat(fuid,'_sky.jpg');如果要串連所有的FUID必須這樣concat(fuid,fuid)而且下一個fuid必須是uchome_friend中的下一個ID,但是這裡並不能做到,後來查資料發現了group_concat()這個函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.