如何拆分字符串以在MySQL的不同列中显示

时间:2018-11-12 06:20:23

标签: mysql

我有一个表名rankList,其中有列instituteCoderank

rankList数据

----------------------------------------------------
instituteCode       |  rank                     
----------------------------------------------------
1125                |  1,3,7
1259                |  11,16,19,28
1902                |  2,4,5,6,8,9,10
----------------------------------------------------

因此,根据示例表,我们可以看到所有rank都存储在单个列中,因此我需要一个理想的输出来显示所选的instituteCode等级必须划分在不同的列中

所以我已经使用instituteCode 1125

的正则表达式进行了尝试
select 
SUBSTRING_INDEX(rank,',',1) as  firstColumn,
SUBSTRING_INDEX(SUBSTRING_INDEX(rank,',',2),',',-1) as secondColumn,
SUBSTRING_INDEX(rank,',',-1) as  thirdColumn
from ranklist where instituteCode='1125'

输出为

------------------------------------------
firstColumn | secondColumn | thirdColumn
------------------------------------------
1           | 3            |7
------------------------------------------

但是问题是,要获取12591902的输出,我必须重写整个查询。还有没有其他方法可以根据rank进行拆分,并且 存储在多列中。

0 个答案:

没有答案