欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > mysql查询行转列并去重

mysql查询行转列并去重

2025/2/25 15:55:01 来源:https://blog.csdn.net/m0_60873265/article/details/144747179  浏览:    关键词:mysql查询行转列并去重

数据库效果:我们对sys_user 表中 username 是祺祺 的 city字段进行 行转列

转换之后效果:

方法一:关联 mysql.help_topic 表 使用help_topic_id字段

SELECT DISTINCTsu.province,SUBSTRING_INDEX( SUBSTRING_INDEX( su.city, ',', b.help_topic_id + 1 ), ',', - 1 ) AS city 
FROMsys_user suLEFT JOIN mysql.help_topic b ON b.help_topic_id < ( LENGTH( su.city ) - LENGTH( REPLACE ( su.city, ',', '' )) + 1 ) 
WHEREusername = '祺祺';

方法二:创建一个序列号表 sequence 存储序列号,进行关联

SELECT DISTINCTsu.province,SUBSTRING_INDEX( SUBSTRING_INDEX( su.city, ',', b.id + 1 ), ',', - 1 ) AS city 
FROMsys_user suLEFT JOIN sequence b ON b.id < ( LENGTH( su.city ) - LENGTH( REPLACE ( su.city, ',', '' )) + 1 ) 
WHEREusername = '祺祺';

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词