我有一个表名rankList
,其中有列instituteCode
和rank
表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
------------------------------------------
但是问题是,要获取1259
和1902
的输出,我必须重写整个查询。还有没有其他方法可以根据rank
进行拆分,并且
存储在多列中。