将多行Mysql查询结果合并成一行,同字段的不同结果以逗号区分

本文探讨了在SQL查询中如何处理医生与科室绑定的多对多关系。通过示例展示了在没有使用GROUP BY和GROUP_CONCAT时出现的重复记录问题,接着解释了GROUP BY如何过滤重复但可能导致信息丢失,最后介绍了GROUP_CONCAT函数结合GROUP BY如何有效地合并结果而不失所需信息,为数据库查询提供了解决方案。

正常查询

下图这种连表查询,当一个医生绑定多个科室时,会出现多条科室不同的重复记录

使用GROUP BY过滤

使用GROUP BY时,会过滤掉其他科室,同时缺少部分科室

在这里插入图片描述

使用GROUP_CONCAT函数

使用GROUP_CONCAT函数GROUP BY组合,即可达到合并不同的结果,但是不会丢失需要的信息

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值