2019独角兽企业重金招聘Python工程师标准>>>

关于Mysql group_concat的应用

■事先准备:

CREATE TABLE TBL_GRP_CAT (

ID INT,

VAL CHAR

);

INSERT INTO TBL_GRP_CAT VALUES(1, 'a');

INSERT INTO TBL_GRP_CAT VALUES(1, 'b');

INSERT INTO TBL_GRP_CAT VALUES(1, 'c');

INSERT INTO TBL_GRP_CAT VALUES(2, 'd');

INSERT INTO TBL_GRP_CAT VALUES(2, 'e');

INSERT INTO TBL_GRP_CAT VALUES(2, 'd');

INSERT INTO TBL_GRP_CAT VALUES(2, 'f');

mysql> select * from TBL_GRP_CAT;

+------+------+

| ID   | VAL  |

+------+------+

|    1 | a    |

|    1 | b    |

|    1 | c    |

|    2 | d    |

|    2 | e    |

|    2 | d    |

|    2 | f    |

+------+------+

7 rows in set (0.00 sec)

mysql>

■语法:

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

■示例

示例1:把相同ID的VAL用逗号连接起来(可以重复)

SELECT ID, group_concat(VAL) VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

mysql> SELECT ID, group_concat(VAL) VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID

;

+------+---------+

| ID   | VAL     |

+------+---------+

|    1 | a,b,c   |

|    2 | d,e,d,f |

+------+---------+

2 rows in set (0.00 sec)

mysql>

示例2:把相同ID的VAL用逗号连接起来(不含重复)

SELECT ID, group_concat(DISTINCT VAL) VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

mysql> SELECT ID, group_concat(DISTINCT VAL) VAL FROM TBL_GRP_CAT GROUP BY ID OR

DER BY ID;

+------+-------+

| ID   | VAL   |

+------+-------+

|    1 | a,b,c |

|    2 | d,e,f |

+------+-------+

2 rows in set (0.00 sec)

mysql>

示例3:把相同ID的VAL由大到小用逗号连接起来(可以重复)

SELECT ID, group_concat(VAL Order BY VAL DESC) VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

mysql> SELECT ID, group_concat(VAL Order BY VAL DESC) VAL FROM TBL_GRP_CAT GROU

BY ID ORDER BY ID;

+------+---------+

| ID   | VAL     |

+------+---------+

|    1 | c,b,a   |

|    2 | f,e,d,d |

+------+---------+

2 rows in set (0.00 sec)

mysql>

示例4:把相同ID的VAL用字符'/'连接起来(可以重复)

SELECT ID, group_concat(VAL Separator '/') VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

mysql> SELECT ID, group_concat(VAL Separator '/') VAL FROM TBL_GRP_CAT GROUP BY

ID ORDER BY ID;

+------+---------+

| ID   | VAL     |

+------+---------+

|    1 | a/b/c   |

|    2 | d/e/d/f |

+------+---------+

2 rows in set (0.00 sec)

mysql>

示例5:权使用

SELECT ID, group_concat(DISTINCT VAL Order BY VAL DESC Separator '/') VAL FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

mysql> SELECT ID, group_concat(DISTINCT VAL Order BY VAL DESC Separator '/') VAL

FROM TBL_GRP_CAT GROUP BY ID ORDER BY ID;

+------+-------+

| ID   | VAL   |

+------+-------+

|    1 | c/b/a |

|    2 | f/e/d |

+------+-------+

2 rows in set (0.00 sec)

mysql>

在Oracle(Listagg),Sqlite(group_concat)等均有类似功能。

转载于:https://my.oschina.net/dubenju/blog/466564

关于Mysql group_concat的应用(把相同ID的VAL用字符'/'连接起来)相关推荐

  1. mysql group_concat去重_MySQL group_concat() 函数用法

    MySQL group_concat() 函数用法 在使用 group by对数据进行分组后,如果需要对 select 的数据项进行字符串拼接,这时就需要用到group_concat()函数. 1.基 ...

  2. MySQL group_concat()函数

    转载自  MySQL group_concat()函数 MySQL GROUP_CONCAT函数介绍 MySQL GROUP_CONCAT()函数将组中的字符串连接成为具有各种选项的单个字符串. 下面 ...

  3. mysql group concat 去重,MySQL group_concat() 函数用法

    MySQL group_concat() 函数用法 在使用 group by对数据进行分组后,如果需要对 select 的数据项进行字符串拼接,这时就需要用到group_concat()函数. 1.基 ...

  4. mysql group_concat去重_mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格...

    mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格 MemberID MemberName FruitName -------------- ------------- ...

  5. MySQL group_concat()详解

    GROUP_CONCAT(xxx):是将分组中括号里对应的字符串进行连接.如果分组中括号里的参数xxx有多行,那么就会将这多行的字符串连接,每个字符串之间会有特定的符号进行分隔. 对应的语法格式 # ...

  6. mysql 查看当前事务id,MySQL 如何查询当前最新事务ID

    写在前面:在个别时候可能需要查看当前最新的事务 ID,以便做一些业务逻辑上的判断(例如利用事务 ID 变化以及前后时差,统计每次事务的响应时长等用途). 通常地,我们有两种方法可以查看当前的事务 ID ...

  7. mysql更新id最大_我们可以在单个MySQL查询中更新具有最高ID的行吗?

    是的,我们可以做到.让我们首先创建一个表-mysql> create table DemoTable ( ID int, GameScore int ); 使用插入命令在表中插入一些记录-mys ...

  8. mysql如何让自增的id从1开始

    mysql如何让自增的id从1开始 通常我们会发现设置了自增的id或者是uuid之后,比如添加了20条测试数据,然后把测试数据给删了,结果发现再新加一条数据还是从 21开始,那么如何让它从1开始呢? ...

  9. MYSQL group_concat函数作用

    现在加入有以下数据 id name 1 小猫 2 木头 1 小狗 1 小兔 此时如果进行和合并 就可使用 group_concat 函数 达到效果为: id name 1 小猫,小狗,小兔 2 木头 ...

  10. mysql根据id删除数据库,MYSQL删除表中的指定ID数据

    MYSQL删除表中的指定ID数据 删除A表中的ID 中的开头以B* 的数据库. 复制代码 代码如下: delete FROM A WHERE id like 'B%' 单独删除 A 表中的ID B 复 ...

最新文章

  1. Java泛型失效的两种情况
  2. 排序算法 —— 冒泡排序
  3. 基于位置的知识图谱链接预测
  4. 音视频应用驶入快车道 开发者如何快速追赶这波技术红利?
  5. hdu 1671 Phone List 字典树模板
  6. bind merge r 和join_R语言数据处理——数据合并与追加
  7. 导入html文件到onenote,onenote怎么导入文件 onenote添加文件附件的图文步骤
  8. 2018深圳杯数学建模A题
  9. PWM驱动MOS管H桥电路
  10. 人工智能产品经理最佳实践
  11. 怎么冻结表格前几行和前几列_如何冻结表格前几列
  12. 学术会议 Rebuttal 模板
  13. python爬取LOL皮肤
  14. 华丽而实用的Java图表应用
  15. gpasswd命令简介
  16. matlab 卡丹 公式,卡丹公式欺骗了五百年所有数学家
  17. 在3DMAX中为动画添加根骨骼运动
  18. 2020中国最佳创新公司50榜单正式发布,哔哩哔哩、理想汽车等上榜
  19. 做一个商业网站要多少钱?
  20. 高仿马蜂窝旅游头像泡泡动画

热门文章

  1. 嵌入式工具——lsof
  2. DOCKER基础技术:LINUX CGROUP
  3. linux内核奇遇记之md源代码解读之三
  4. 1085 Perfect Sequence(25 分)
  5. 51Nod1344走格子
  6. php实用教程第3版郑阿奇课后答案_SQL Server 实用教程(第3版)课后实验答案 郑阿奇主编的 邮箱344561468@qq.com...
  7. 大佬学习python_各位大佬我想学习python,应该买那些书?
  8. python樱花_如何基于python实现画不同品种的樱花树
  9. 台达cp2000的面板怎么调节_吊灯怎么安装 吊灯怎么固定在顶上的
  10. 游戏内存读取工具_不因内存弃旧爱,东芝Canvio Gaming移动硬盘评测