mysql函数group_concat和find_in_set的用法

 更新时间:2025年05月24日 09:07:18   作者:codingPower  
这篇文章主要介绍了mysql函数group_concat和find_in_set的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql函数group_concat和find_in_set

idscore
155
222
225
333
334
446
448

group_concat

将多行数据按照某个条件合并成一行

select id,group_concat(score) from table group by id;
155
222,25
333,34
446,48

dinstinct去重, separator ';'表示以分号为分隔符

select id,group_concat(distinct score separator ‘;') from table group by id;
155
222;25
333;34
446;48

find_in_set

  • 将一个字段的值拆分成多行,字段值需要以逗号隔开
String name=“A,B,C,D”;
select * from table where find_in_set(id,name);
  • 表示求表table中id值为A,B,C,D的数据,跟下面的sql一个含义
select * from table where id in('A','B','C','D');
  • 可以用于码值配置
select * from table where find_in_set(id,(select itemno from code_library where codeno='A'));
  • FIND_IN_SET(str,strlist) : str 要查询的字符串,strlist 需查询的字段,参数以”,”分隔,该函数的作用是查询字段(strlist)中是否包含(str)的结果.
SELECT find_in_set(‘B', ‘A,B,C,D') from dual;
  • 结果:2 B在strlist集合中2的位置
select find_in_set(‘A', ‘A,B,C,D') from dual;
  • 结果:1 A在strlist集合中1的位置
select find_in_set(‘A', ‘B,C,D') from dual;
  • 结果:0 strlist中不存在str,所以返回0。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解读mysql主从配置及其原理分析(Master-Slave)

    解读mysql主从配置及其原理分析(Master-Slave)

    在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下。
    2011-05-05
  • 运用mysqldump 工具时需要注意的问题

    运用mysqldump 工具时需要注意的问题

    用mysqldump 导出 Trigger 的时候遇到一个问题,贴出来,以免大家犯错。
    2009-07-07
  • MySQL 5.7之关于SQL_MODE的设置

    MySQL 5.7之关于SQL_MODE的设置

    这篇文章主要介绍了MySQL 5.7之关于SQL_MODE的设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL中半同步模式的实现示例

    MySQL中半同步模式的实现示例

    MySQL半同步复制是一种解决主从数据一致性问题的机制,本文就来介绍一下MySQL中半同步模式的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-09-09
  • 如何将mysql存储位置迁移到一块新的磁盘上

    如何将mysql存储位置迁移到一块新的磁盘上

    这篇文章主要介绍了如何将mysql存储位置迁移到一块新的磁盘上,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • mysql占用CPU过高的解决办法(添加索引)

    mysql占用CPU过高的解决办法(添加索引)

    下面是MYSQL占用CPU高处理的一个例子,希望对遇到类似问题的朋友们有点启发。一般来说MYQL占用CPU高,多半是数据库查询代码问题,查询数据库过多。所以一方面要精简代码,另一方面最好对频繁使用的代码设置索引
    2013-03-03
  • MySQL中find_in_set()函数用法示例详解

    MySQL中find_in_set()函数用法示例详解

    find_in_set这个是mysql的一个函数,见得比较少,下面这篇文章主要给大家介绍了关于MySQL中find_in_set()函数用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 一条SQL语句在MySQL中是如何执行的

    一条SQL语句在MySQL中是如何执行的

    本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的,需要的朋友可以参考一下
    2021-10-10
  • mysql中TIMESTAMPDIFF案例详解

    mysql中TIMESTAMPDIFF案例详解

    这篇文章主要介绍了mysql中TIMESTAMPDIFF案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Mysql之索引的数据结构详解

    Mysql之索引的数据结构详解

    索引是存储引擎用于快速找到数据记录的一种数据结构,类似于教科书的目录部分,在MySQL中,索引可以加速数据查找,减少磁盘I/O的次数,提高查询速率,但是,创建和维护索引需要耗费时间,并且索引需要占磁盘空间,在InnoDB中,索引的实现基于B+树结构
    2024-12-12

最新评论