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

以id分组,把price字段的值在同一行打印出来,逗号分隔(默认)

select id, group_concat(price) from goods group by id;  

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

以id分组,把price字段的值在一行打印出来,分号分隔 

select id,group_concat(price separator ‘;‘) from goods group by id;
+------+----------------------------------+
| id| group_concat(price separator ‘;‘) |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去除重复冗余的price字段的值打印在一行,逗号分隔
select id,group_concat(distinct price) from goods group by id;  

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

以id分组,把price字段的值打印在一行,逗号分隔,按照price倒序排列
select id,group_concat(price order by price desc) from goods group by id;  

+------+---------------------------------------+
| id| group_concat(price order by price desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)
时间: 2024-10-06 06:12:46

mysql group_concat函数的相关文章

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

mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格 MemberID MemberName FruitName -------------- --------------------- -------------- 1 Al Apple 1 Al Cherry Desired output MemberID MemberName FruitName ----------- -------------- ------------ 1 Al Apple, Cherry

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 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 |+------+---

MySQL中CONCAT、CONCAT_WS和GROUP_CONCAT函数

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