mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格

mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格

MemberID          MemberName              FruitName
--------------    ---------------------   --------------
1                  Al                     Apple
1                  Al                     Cherry

Desired output

MemberID           MemberName            FruitName
-----------        --------------        ------------
1                  Al                    Apple, Cherry

3down voteaccepted

GROUP BY MemberName and GROUP_CONCAT(FruitName). For example,

SELECT MemberId, MemberName, GROUP_CONCAT(FruitName) FROM a LEFT JOIN b ON a.MemberName = b.MemberName GROUP BY a.MemberName;

时间: 2024-10-11 04:05:57

mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格的相关文章

Mysql group_concat函数列转行,与行转列

1.正常情况. SELECT JoinEventIds from user 2.使用group_concat函数得到列转行. select group_concat(JoinEventIds) from user 3.使用SUBSTRING_INDEX和CROSS JOIN将列里面的的数字都拆分出来,把一行变成一列. 方法一(网上查询的方法): 建配置表: CREATE TABLE digits (digit INT(1)); INSERT INTO digits VALUES (0), (1)

MYSQL group_concat() 函数

看来看一下表中的数据 select * from t; 下一步来看一下group_concat函数的用法 select ID,group_concat(Name) from t group by ID; 如果要消除重复项可以加distinct select ID,group_concat(distinct Name) from t group by ID; 如果还排序可以这样 select ID,group_concat(name order by name desc) from t group

mysql group_concat函数是有长度限制的

在表关联查询中,特别是一对多关系的表查询中,group_concat函数是很有用的一个函数,帮助我们减少对数据库查询的次数,减少服务器的压力. 但是今天使用group_concat函数查询数据库时,发现查询出来的结果,居然少了很多.进过很多步的测试后,并上网百度后,验证了自己的结论,group_concat的长度是有限制的,默认为1024个字符.也就是说字符查询出来的字符串如果超过了1024个字节,将会自动截断. 在不考虑使用其它思路情况下的解决办法: 将将group_concat的长度设计加大

mysql 5.7多源复制(用于生产库多主库合并到一个查询从库)

目前我们使用的是主从+分库分表的系统架构,主库有N个分库,从库为多个slave做负载均衡,所以数据库端的架构是下面这样的: 这就涉及到多个主库数据同步到不分库分表的从库共查询和管理类系统使用.在mysql 5.6以及之前的版本中,没有原生的解决方法,除非使用mariadb分支,在mysql 5.7之后支持多源复制,除了使用原生的多源复制之外,还有一个选择,就是使用案例开源的otter/canal.如果只是N个库合并到一个库的,我们使用mysql原生的复制,因为无论从稳定性还是运维成本.系统要求的

mysql group_concat函数

函数语法: group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] ) 下面举例说明: select * from goods; +------+------+ | id| price| +------+------+ |1 | 10| |1 | 20| |1 | 20| |2 | 20| |3 | 200 | |3 | 500 | +------+------+ 6 rows in set (0.00

mysql group_concat函数详解

group_concat( [DISTINCT]  要连接的字段   [Order BY 排序字段 ASC/DESC]   [Separator '分隔符'] ) 1. --以id分组,把price字段的值在同一行打印出来,逗号分隔(默认) select id, group_concat(price) from goods group by id; 2. --以id分组,把price字段的值在一行打印出来,分号分隔 select id,group_concat(price separator '

mysql中的group_concat()函数的参数排序

1.用法:mysql group_concat()函数的参数是可以直接使用order by排序的. 2.例子表中数据如下: id  username  score 1    张三    90 2    李四    85 3    王五    80 4    张三    70 5    李四    80 6    张三    60   需求如下: 我们要查看每个人的片[多个]分数,将该人对应的[多个分数显示在一起],分数要[从高到底]排序 关键字分析可知: [多个分数显示在一起]: 必然用到组合[

MySQL中函数CONCAT及GROUP_CONCAT

一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCAT(str1,str2,-)                       返回结果为连接参数产生的字符串.如有任何一个参数为NULL

Mysql中关于 group_concat函数详解

group_concat()主要功能:能将相同的行组合起来 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 Sql代码   select * from aa; +------+------+| id| name |+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |+------+---