Mysql逗号拼接字符串的关联查询以及统计问题

目录
  • 背景:
  • 一、查询问题
  • 二、统计问题
  • 三、效率问题
  • 总结

背景:

数据库中逗号拼接的字符串,想展示其完整拼接名称或者按其值统计处理,怎么做?

FIND_IN_SET函数和GROUP_CONCAT函数你会用吗?

一、查询问题

eg两张表 t_conclusion_detail(拜访信息表) 和 t_conclusion_info(拜访结论表)

t_conclusion_detail:

id userName conclusionIds
781918060586991616 梦琪 1,3
781986564770103296 西施 3
781989822074978304 火舞 2,3,4

t_conclusion_info:

conclusionId conclusionName
1 已成交
2 暂无兴趣
3 需要跟进
4 沟通顺利

想要的效果:

id userName conclusionIds conclusionNameStr
781918060586991616 梦琪 1,3 已成交,需要跟进
781986564770103296 西施 3 需要跟进
781989822074978304 火舞 2,3,4 暂无兴趣,需要跟进,沟通顺利

思考

(0)

相关推荐

  • MySql逗号拼接字符串查询的两种方法

    下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 使用方法: 第一种,传入1,3,6  可以查出来 select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5') 第二种,传入1,3,6  查不出来 select * from XXX where FIND_ALL_PART_IN_SET(

  • sql查询结果列拼接成逗号分隔的字符串方法

    背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过group_concat函数 拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决. 在每次查询前执行SET SESSION group_concat_max_len = 10240; 或者SET GLOBALgroup_concat_max_len = 10240; 使得查询结果值变大. 补充:SQL server 的 拼接SQL如下: selectstuff(( select ','+ requestid

  • Mysql逗号拼接字符串的关联查询以及统计问题

    目录 背景: 一.查询问题 二.统计问题 三.效率问题 总结 背景: 数据库中逗号拼接的字符串,想展示其完整拼接名称或者按其值统计处理,怎么做? FIND_IN_SET函数和GROUP_CONCAT函数你会用吗? 一.查询问题 eg两张表 t_conclusion_detail(拜访信息表) 和 t_conclusion_info(拜访结论表) t_conclusion_detail: id userName conclusionIds 781918060586991616 梦琪 1,3 781

  • 浅谈mysql中多表不关联查询的实现方法

    大家在使用MySQL查询时正常是直接一个表的查询,要不然也就是多表的关联查询,使用到了左联结(left join).右联结(right join).内联结(inner join).外联结(outer join).这种都是两个表之间有一定关联,也就是我们常常说的有一个外键对应关系,可以使用到 a.id = b.aId这种语句去写的关系了.这种是大家常常使用的,可是有时候我们会需要去同时查询两个或者是多个表的时候,这些表又是没有互相关联的,比如要查user表和user_history表中的某一些数据

  • MySQL详细讲解多表关联查询

    目录 数据库设计范式 外键 内连接 外连接 结语 数据库设计范式 目前数据库设计有五种范式 , 一般我们数据库只需要满足前三项即可 第一范式 : 确保每列保持原子性 什么是原子性? 意思就是不可再分的,例如下 联系方式有 QQ,微信 , 电话等等 , 显然此列不满足原子性, 如果是单独的QQ或者电话等,则只有一个, 满足第一范式 第二范式 : 要有主键,要求其他字段都依赖于主键 为什么主键这么重要? 我们可以这样理解, 如果把表当作一个队伍, 那么主键就是这个队伍的队旗 • 没有主键就没有唯一性

  • Yii中的relations数据关联查询及统计功能用法详解

    本文实例讲述了Yii中的relations数据关联查询及统计功能用法.分享给大家供大家参考,具体如下: 关联查询,Yii 也支持所谓的统计查询(或聚合查询). 它指的是检索关联对象的聚合信息,例如每个 post 的评论的数量,每个产品的平均等级等. 统计查询只被 HAS_MANY(例如,一个 post 有很多评论) 或 MANY_MANY (例如,一个 post 属于很多分类和一个 category 有很多 post) 关联对象执行. 执行统计查询非常类似于之前描述的关联查询.我们首先需要在 C

  • mysql中的跨库关联查询方法

    业务场景:关联不同数据库中的表的查询 比如说,要关联的表是:机器A上的数据库A中的表A && 机器B上的数据库B中的表B. 这种情况下,想执行"select A.id,B.id from A left join B on ~~~;"那是不可能的,但业务需求不可变,数据库设计不可变,这就蛋疼了.. 解决方案:在机器A上的数据库A中建一个表B... 这当然不是跟你开玩笑啦,我们采用的是基于MySQL的federated引擎的建表方式. 建表语句示例: CREATE TABL

  • java 将 list 字符串用逗号隔开拼接字符串的多种方法

    第一种:使用谷歌Joiner方法 import com.google.common.base.Joiner; public static <T> String parseListToStr(List<T> list){ String result = Joiner.on(",").join(list); return result; } 第二种:循环插入逗号 //java项目www.fhadmin.org public static <T> Stri

  • mybatisPlus实现倒序拼接字符串

    目录 倒序拼接字符串 把sql用字符串拼接好后直接取出使用 倒序拼接字符串 @ApiOperation("分页查询") @GetMapping(value = "/list") public ActionResult<Map<String, Object>> list(@RequestParam Map<String, Object> params) { List<String> list = Arrays.asLis

  • MySQL拼接字符串函数GROUP_CONCAT详解

    上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容.一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5 新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果: 要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮✨登场 GROUP_CONCAT(expr) 在 Mysql

  • MySQL字符串拼接与分组拼接字符串实例代码

    目录 一.经典拼接concat(x,x,....) 二.分隔符拼接CONCAT_WS(separator,str1,str2,...) 三.分组拼接GROUP_CONCAT(expr) 补充:在筛选查询中进行字符串拼接并显示在表格里 总结 一.经典拼接concat(x,x,....) 用法案例: SELECT concat( '字符串', '拼接', ',啥都可以', '嘿嘿' ) AS concats FROM DUAL 注意: 如果有任何一个参数为NULL,则返回值为NULL: 二.分隔符拼

随机推荐