成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解MySQL - group_concat合并列

數據庫 MySQL
MySQL GROUP_CONCAT()函數將組中的字符串連接成為具有各種選項的單個字符串,也就是實現列的合并。

 簡介

MySQL GROUP_CONCAT()函數將組中的字符串連接成為具有各種選項的單個字符串,也就是實現列的合并。

測試

創建一個測試表進行測試

  1. create table test_classes (std_name varchar(200),class_name varchar(200)); 
  2.  
  3. insert into test_classes (std_name  , class_name ) value ("小明","二班") , ("小紅","二班") ,("小剛","二班"), ("小強","一班"), ("小白","三班") ,("小魚","三班"); 

 需求:查出三個班級各有什么人,并使用一個字符串的字段顯示。

這時候直接使用group_concat一個語句就可以直接完成。

  1. select class_name , group_concat(std_name)  As std_names from test_classes group by class_name ; 

這里需要根據班級來顯示,所以需要使用group_by進行分組

  1. +------------+----------------------+ 
  2. | class_name | std_names            | 
  3. +------------+----------------------+ 
  4. | 一班       | 小強                 | 
  5. | 三班       | 小白,小魚            | 
  6. | 二班       | 小明,小紅,小剛       | 
  7. +------------+----------------------+ 

 排序:在group_concat也是支持排序的。

  1. select class_name , group_concat(std_name order by std_name)  As std_names from test_classes group by class_name ;   

  1. +------------+----------------------+ 
  2. | class_name | std_names            | 
  3. +------------+----------------------+ 
  4. | 一班       | 小強                 | 
  5. | 三班       | 小白,小魚            | 
  6. | 二班       | 小剛,小明,小紅       | 
  7. +------------+----------------------+ 

 [[396756]]

去重:可以使用DISTINCT進行去重。

  1. insert into test_classes (std_name  , class_name ) value ("小明","二班"); 
  2. insert into test_classes (std_name  , class_name ) value ("小明","二班"); 
  3. select class_name , group_concat(DISTINCT(std_name))  As std_names from test_classes group by class_name ;   

  1. +------------+----------------------+ 
  2. | class_name | std_names            | 
  3. +------------+----------------------+ 
  4. | 一班       | 小強                 | 
  5. | 三班       | 小白,小魚            | 
  6. | 二班       | 小剛,小明,小紅       | 
  7. +------------+----------------------+ 

 合并多列:可以配合CONCAT_WS將多列合并成一個字符串。

  1. select group_concat(CONCAT_WS('的',class_name,std_name) SEPARATOR ';')  As std_names from test_classes ;   
  2.  
  3. SEPARATOR 是指定分隔符 
  4.  
  5. ```sql 
  6. +---------------------------------------------------------------------------------------------------------------------------------+ 
  7. | std_names                                                                                                                       | 
  8. +---------------------------------------------------------------------------------------------------------------------------------+ 
  9. | 二班的小明;二班的小紅;二班的小剛;一班的小強;三班的小白;三班的小魚;二班的小明;二班的小明                                         | 
  10. +---------------------------------------------------------------------------------------------------------------------------------+ 

 長度限制

GROUP_CONCAT這個函數是有最大長度限制的,如果超過這個長度限制,得到的字符串就是被截取后的結果,不會報錯,所以需要注意。

這個是長度是由變量group_concat_max_len控制的。

  1. show variables like "group_concat_max_len"

可以通過修改這個變量來放大限制。

  1. SET GLOBAL group_concat_max_len=102400; 
  2. SET SESSION group_concat_max_len=102400; 

 配置文件就需要在mysqld的配額節進行配置

  1. [mysqld] 
  2. group_concat_max_len=102400 

 【編輯推薦】

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2010-10-09 15:57:56

MySQL GROUP

2010-05-14 18:16:44

MySQL統計函數

2010-06-13 15:00:23

MySQL統計函數

2010-10-11 15:28:14

MySQL group

2009-03-25 09:00:11

Group By排序MySQL

2010-10-11 15:08:44

MySQL conca

2010-10-09 14:00:10

mysql CONCA

2010-09-07 11:53:00

SQL語句

2010-10-11 15:21:41

MySQL中conca

2010-10-09 11:54:46

MySQL字符串

2010-10-09 12:01:00

MySQL字符串

2017-01-26 20:48:14

MySQL復制MySQL程序壓縮

2022-01-17 20:59:37

開發group by思路

2009-11-25 10:25:43

PHP數組合并與拆分

2022-04-26 08:51:29

MySQLgroup by

2024-09-13 17:06:54

EF Core分組查詢

2010-05-28 17:15:17

SVN分支與合并

2010-06-01 12:36:04

SVN分支與合并

2023-02-10 07:00:22

2011-03-31 13:51:54

MySQL索引
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久男人天堂 | 亚洲一区二区三区免费在线观看 | 久久久国产一区二区三区 | 狠狠色网 | 亚洲第一色站 | www网站在线观看 | 久久青草av | 国产精品久久精品 | 99精品免费久久久久久久久日本 | 蜜桃视频成人 | 欧美日韩理论 | 国产精品成人av | 久久国 | 国产免费自拍 | 亚洲精品欧美 | 日本三级电影在线免费观看 | 久久久涩 | 欧美日韩精品在线一区 | 欧美日本在线观看 | 极品电影院| 毛片a | 久久久久久999 | 日韩欧美国产精品一区二区三区 | www.久久99| 国产成人叼嘿视频在线观看 | 日韩欧美中文 | 久久欧美高清二区三区 | 国产日韩一区二区 | 国产精品久久久久久久久久久免费看 | 国产精品久久久久久久久久免费看 | 天天玩天天干天天操 | www.亚洲精品 | 精品免费观看 | 高清欧美性猛交xxxx黑人猛交 | 日韩第一区 | 国产精品伦一区二区三级视频 | 午夜激情影院 | 毛片区| 国产一区二区麻豆 | 国产精品99一区二区 | 国产精品日韩高清伦字幕搜索 |