从mysql中的csv字符串生成字符串的索引/位置

从mysql中的csv字符串生成字符串的索引/位置,mysql,csv,group-concat,Mysql,Csv,Group Concat,我需要使用MySQL从中生成一些东西 "Java, MySQL, Python" 到 我的想法是csv字符串中有3个字符串,我需要一个从1到n(3)的整数序列 csv字符串由mysql的GROUP\u CONCAT()函数生成 提前谢谢 文本 集团公司(参考id) Java、MySQL、Python 1,2,3 简单的1,2,3?或者这些值是从另一个表中获取的单独字符串值的索引/标识符?实际上,您的ref表应该是我的输出,具体取决于main表。在您的回答中,您硬编码了ref

我需要使用MySQL从中生成一些东西

"Java, MySQL, Python"

我的想法是csv字符串中有3个字符串,我需要一个从1到n(3)的整数序列

csv字符串由mysql的
GROUP\u CONCAT()
函数生成

提前谢谢

文本 集团公司(参考id) Java、MySQL、Python 1,2,3
简单的
1,2,3
?或者这些值是从另一个表中获取的单独字符串值的索引/标识符?实际上,您的
ref
表应该是我的输出,具体取决于
main
表。在您的回答中,您硬编码了
ref
表,这在我的情况下是不可能的。实际上,我想生成每个字符串的位置/索引。如果输入字符串是
Java,MySQL
,那么输出应该是
1,2
。我希望我能说清楚。感谢您是否要基于
main
表格数据创建和填充
ref
表格?或者只需要生成包含相邻整数的新值?无论如何,请提供精确的MySQL版本。任何人都可以接受我的情况。MySQL 5.7。30@sarwar026每个CSV单独值的数量是否有上限?或者-存储过程而不是单个查询对您来说安全吗?实际上,我是在存储过程中这样做的。上限不会太大。。。如果您有解决方案,请分享。提前谢谢。
"1,2,3"
CREATE TABLE main SELECT "Java,MySQL,Python" txt, NULL idx;
CREATE TABLE ref SELECT 1 id, 'Java' val UNION SELECT 2, 'MySQL' UNION SELECT 3, 'Python';
SELECT main.txt, GROUP_CONCAT(ref.id)
FROM main
JOIN ref ON FIND_IN_SET(ref.val, main.txt)
GROUP BY main.txt