MYSQL-另一种行转列的实现方式

行转列的实现方式:使用mysql.help_topic

--行转列  
SELECT 
b.help_topic_id,
substring_index( a.levels, ',', b.help_topic_id +1 ),
substring_index( substring_index( a.levels, ',', b.help_topic_id+1 ), ',',- 1 ) AS level
FROM ( select '1,2,3,4' as levels from mysql.db limit 1 ) a
JOIN mysql.help_topic b ON b.help_topic_id < ( length( a.levels ) - length( REPLACE ( a.levels, ',', '' ) ) +1 )

演示效果

(1)转换前

select '1,2,3,4' as levels from mysql.db limit 1 ;

 

 

 

(2)转换后

 

posted @ 2023-03-27 16:07  业余砖家  阅读(73)  评论(0编辑  收藏  举报