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)
repeat()函数
用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数
mysql select repeat('ab',2);
+----------------+
| repeat('ab',2) |
+----------------+
| abab|
+----------------+
1 row in set (0.00 sec)
又如
mysql select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa|
+---------------+
1 row in set (0.00 sec)
mysql向表中某字段后追加一段字符串:
update table_name set field=CONCAT(field,'',str)
mysql 向表中某字段前加字符串
update table_name set field=CONCAT('str',field)
MySql 中如何连接一列字符串GROUP_CONCAT(expr)完整句法如下: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] [,col ...]][SEPARATOR str_val])这个函数在 MySQL 4.1 中被加入 。函数返回一个字符串结果,该结果由分组中的值连接组合而成: mysql SELECT student_name,- GROUP_CONCAT(test_score)- FROM student- GROUP BY student_name;ormysql SELECT student_name,- GROUP_CONCAT(DISTINCT test_score- ORDER BY test_score DESC SEPARATOR " ")- FROM student- GROUP BY student_name;在MySQL 中,你可以得到表达式结合体的连结值 。通过使用 DISTINCT 可以排除重复值 。如果希望对结果中的值进行排序 , 可以使用 ORDER BY 子句 。为了以倒序排序,可以在 ORDER BY 子句中用于排序的列名后添加一个 DESC (递减 descending) 关键词 。缺省为升序;这也可以通过使用 ASC 关键词明确指定 。SEPARATOR 是一个字符串值,它被用于插入到结果值中 。缺省为一个逗号 (",") 。你可以通过指定 SEPARATOR "" 完全地移除这个分隔符 。在你的配置中,通过变量 group_concat_max_len 要以设置一个最大的长度 。在运行时执行的句法如下: SET [SESSION | GLOBAL] group_concat_max_len = unsigned_integer;如果最大长度被设置,结果值被剪切到这个最大长度 。GROUP_CONCAT() 函数是一个增强的 Sybase SQL Anywhere 支持的基本 LIST() 函数 。如果只有一个列,并且没有其它选项被指定,GROUP_CONCAT() 是向后兼容有极大限制的 LIST() 函数 。
如何在MySQL中连接两个字符串mysql如何实现多行查询结果合并成一行,mysql如何实现多行查询结果合并成一行网站简介信息
利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行 。
其完整语法:
GROUP_CONCAT(expr)
该函数返回带有来自一个组的连接的非NULL值的字符串结果 。其完整的语法如下所示:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
mysql SELECT student_name,
- GROUP_CONCAT(test_score)
- FROM student
- GROUP BY student_name;
Or:
mysql SELECT student_name,
- GROUP_CONCAT(DISTINCT test_score
- ORDER BY test_score DESC SEPARATOR ' ')
- FROM student
- GROUP BY student_name;
推荐阅读
- 单机游戏便利店,便利店游戏怎么玩儿
- diva-gis如何打开tif,arcgis102打开tif文件
- 怎么给dns设置代理,dns代理打开有什么用
- redis使用代理只能与一个通信,redis 代理
- c语言有没有函数重载 c语言有没有函数重载的
- oracle还原数据表数据,oracle 还原表
- 阿里云esc服务器清空,阿里云服务器释放后还能恢复吗
- 龙珠单机游戏破解,龙珠单机破解版
- php如何导出csv数据 php导出xlsx