利用函数: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;
在MySQL中,你可以获取表达式组合的连接值。你可以使用DISTINCT删去重复值。假若你希望多结果值进行排序,则应该使用 ORDER BY子句。若要按相反顺序排列,将 DESC (递减) 关键词添加到你要用ORDER BY 子句进行排序的列名称中。默认顺序为升序;可使用ASC将其明确指定。 SEPARATOR 后面跟随应该被插入结果的值中间的字符串值。默认为逗号 (‘,')。通过指定SEPARATOR '' ,你可以删除所有分隔符。
使用group_concat_max_len系统变量,你可以设置允许的最大长度。 程序中进行这项操作的语法如下,其中 val 是一个无符号整数:
SET [SESSION | GLOBAL] group_concat_max_len = val;
mysql如何实现多行查询结果合并成一行
2020-01-20 14:37MYSQL教程网 Mysql
利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行
延伸 · 阅读
- 2020-01-20Mysql中的事务是什么如何使用
- 2020-01-20mysql服务无法启动报错误1067解决方法(mysql启动错
- 2020-01-20开启bin-log日志mysql报错的解决方法
- 2020-01-20关于sql和mysql对于别名不能调用的一些理解
- 2020-01-16Java 通过JDBC连接Mysql数据库
- 2020-01-16Oracle Linux 6.8安装 mysql 5.7.17的详细教程
- Mysql
Mysql数据库乱码问题的对应方式
今天小编就为大家分享一篇关于Mysql数据库乱码问题的对应方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...
- Mysql
mysql 忘记密码的解决方法(linux和windows小结)
下面是linux和windows下mysql丢失密码的解决办法 ...
- Mysql
详解Mysql基础语法的使用
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。这篇文章主要介绍了Mysql基础语法的使用,需要的朋友可以参考下...
- Mysql
mysql存储过程基础之遍历多表记录后插入第三方表中详解
这篇文章主要给大家介绍了关于mysql存储过程教程之遍历多表记录后插入第三方表中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工...
- Mysql
mysql xtrabackup 备份恢复实现分享
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具 ...
- Mysql
SQL字符串以及数字常用操作汇总
本篇文章是对SQL字符串以及数字的常用操作进行了详细的总结与分析,需要的朋友参考下 ...
- Mysql
mysql 从 frm 文件恢复 table 表结构的3种方法
这篇文章主要介绍了mysql 从 frm 文件恢复 table 表结构的3种方法 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...
- Mysql
mysql 按照时间段来获取数据的方法
mysql 按照时间段来获取数据的方法,需要的朋友可以参考一下 ...