首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL中concat()、concat_ws()、group_concat()函数

    ()函数接下来就要进入我们本文的主题了,group_concat()函数, 理解了上面两个函数的作用和用法 就对理解group_concat()函数有很大帮助了!...以下我准备了几个案例 小伙伴们可以选择性的去阅读 并且把代码复制到MySQL中执行以下就可以知道用法了!...重点注意1.group_concat只有与group by语句同时使用才能产生效果 所以使用 GROUP_CONCAT()函数必须对源数据进行分组,否则所有数据会被合并成一行2.需要将拼接的结果去重的话...' from student GROUP BY stuName; #--运行结果如下 mysql> select stuName, GROUP_CONCAT(score) as '当前这个学生的得分数...GROUP_CONCAT()函数的使用了需求: 查出每个用户喜欢的水果都有哪些!

    5.4K30

    玩转mysql函授:concat以及group_concat

    三、group_concat()函数 前言:在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。...(有关group by的知识请戳:浅析SQL中Group By的使用)。 例5: ? 该例查询了name相同的的人中最小的id。如果我们要查询name相同的人的所有的id呢?...—— 使用group_concat() 1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。...2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] ) 说明:通过使用distinct可以排除重复值...3、举例: 例7:使用group_concat()和group by显示相同名字的人的id号: ? 例8:将上面的id号从大到小排序,且用'_'作为分隔符: ?

    6.5K30

    MySQL中 concat() 以及 group_concat() 的使用

    摘要:一、concat()函数功能:将多个字符串连接成一个字符串。语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。...例2:在例1的结果中三个字段 id, username, password 的组合没有分隔符,我们可以加一个逗号作为分隔符: select concat (id, ',', username, ',',...——于是可以指定参数之间的分隔符的concat_ws()来了!!! ?...三、group_concat()函数 前言:在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。...——使用group_concat() 例6:查询数据分组并获取每个组别中详细的数据: select sex, group_concat(id) as ids, group_concat(username

    3.8K30

    MySQL方法GROUP_CONCAT的应用

    MySQL方法GROUP_CONCAT的应用,多对多联表查询,以A表为主表,通过关联表C查询出B表关联A表任意记录的多条记录的某个字段的合并值 开发中遇到这样的一个需求:用户表为A,角色表为B,用户角色关系通过...在解决问题中发现了两种方式可实现该功能 方式一 SELECT su.user_id AS userId,su.user_name AS userName, ( SELECT GROUP_CONCAT...userId, su.user_name AS userName,temp.roleNames FROM sys_user su LEFT JOIN ( SELECT sur.user_id, GROUP_CONCAT...(sur.role_id) AS roleIds, GROUP_CONCAT(sr.role_name) AS roleNames FROM sys_user_role sur...= su.user_id ORDER BY su.user_id 方式二依然有一个查询用户拥有小区名称拼接结果的子查询,只是这个子查询不是直接作为结果字段返回,而是根据用户id为group规则查询出来每一个用户的拥有小区结果字符串

    1.2K30

    浅析MySQL中concat及group_concat的使用

    3、举例: 例3:我们使用concat_ws()将 分隔符指定为逗号,达到与例2相同的效果: 例4:把分隔符指定为null,结果全部变成了null: 三、group_concat()函数 前言:在有...group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。...——使用group_concat() 1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。...2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] ) 说明:通过使用distinct可以排除重复值...3、举例: 例7:使用group_concat()和group by显示相同名字的人的id号: 例8:将上面的id号从大到小排序,且用’_’作为分隔符: 例9:上面的查询中显示了以name分组的每组中所有的

    7.2K40

    MySQL中group_concat函数用法总结

    MySQL中group_concat函数用法总结 一、group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果。...group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数(字段名)决定要返回的列。...函数的语法 group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符']) 说明: (1)使用distinct可以排除重复值...三、使用举例 group_concat(emp_name):只指定了字段名,销售部有两个同名的也全部显示出来,并且姓名的连接顺序就是表中的记录顺序,连接的分隔符为逗号,结果如下: mysql> select...salary降序排列,然后再把姓名连接起来,结果如下: mysql> select department,group_concat(distinct emp_name order by salary desc

    6K20

    MySQL中group_concat()函数用法总结

    group_concat函数应该是在内部执行了group by语句,这是我的猜测。...下面进行了实际测验 3.测试常量对group_concat()的配置影响: SET @@GROUP_CONCAT_MAX_LEN=4 手册中提到设置的语法是这样的: SET [SESSION | GLOBAL...(town) FROM `players` 结果得到: group_concat(town) 长沙,北京,长沙,北京 结论:group_concat()函数需要与group by语句在一起使用,才能得到需要的效果...如果没有group by进行指定,那么根本不知道group_concat()根据哪个分组进行显示出成员。 所以,像上面没有group by子句的时候,就显示了长沙和北京。...另外,假如我这样使用:SELECT group_concat( name, sex ) FROM `players` town。意义不大。group_concat()指定一个列是最好的情况。

    2.3K20

    MySQL GROUP_CONCAT 对应 ORACLE LISTAGG用法

    最近,遇到了SQL查询适配不同数据库类型的情况,看了前人写的MySQL查询代码,再想想要怎么写Oracle的,一开始愣住了。。。 现在的需求是,看看食物分类及下属的食物数据。...我们先来看看前人写的MySQL代码: SELECT fc.*, GROUP_CONCAT( f....尽管标准允许了,但是MySQL也是默认不支持这种写法的。我们需要修改sql_mode配置才能支持这种写法。 如何修改sql_mode配置?...ORACLE中可没有GROUP_CONCAT函数来帮助我们将join再group by后的多行数据合并成一行。 那Oracle有没有别的类似功能的函数呢?...如果仅仅将上面MySQL写法中的GROUP_CONCAT替换成Oracle LISTAGG的写法,Oracle表示不认识你 哼!!!

    1.1K00

    Mysql案例之GROUP_CONCAT函数详解

    Hello,大家好,我是灰小猿,一个超会写bug的程序员! 今天这篇文章记录一个最近开发中遇到的mysql实战场景,觉得还挺典型的,就在此做一下记录。...先看一下举例场景: mysql中学生表与学科表通过关联表建立关联,学生和学科为多对多的关系,现要求查询学生的数据,并根据学生表引用的多个学科中名称排列在前的学科的名称进行排序, 数据库表结构如下: CREATE...首先我们来看一下GROUP_CONCAT 函数的含义: GROUP_CONCAT函数 在 MySQL 中,GROUP_CONCAT 函数用于将查询结果按指定顺序连接成一个字符串。...以下是 GROUP_CONCAT 函数的基本语法: SELECT GROUP_CONCAT(column_name ORDER BY order_column SEPARATOR ',') FROM...group_column:分组的字段名。 通过这样的语法,我们可以在查询中使用 GROUP_CONCAT 函数来将查询结果按照指定顺序连接成一个字符串。

    22.9K00

    mysql线上排错 group_concat_max_len group_concat函数 引起的查询数据丢失 实践笔记

    mysql线上排错 group_concat_max_len group_concat函数 引起的查询数据丢失 实践笔记 0.问题场景 1.写几个sql来验证。...修改的方式有两种: 2.1方法一:(永久生效需要重启)在MySQL的配置文件中加入如下配置: 2.2.方法二:(临时使用,重启失效)更简单的操作方法,执行SQL语句: 3.我们再次用第1步的sql来验证...0.问题场景 因为默认GROUP_CONCAT函数返回的结果大小被MySQL默认限制为1024(字节)的长度。...MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号。...修改的方式有两种: 2.1方法一:(永久生效需要重启)在MySQL的配置文件中加入如下配置: #先查询group_concat_max_len的长度 show variables like "group_concat_max_len

    3.5K10
    领券