我有
等行等。
假设该字段被称为“标题”,该表称为“问题”。该列中的所有项目都以方括号内的字符串开头。方括号内没有明确的单词列表。对长度也没有限制。如果字段不以这样的字符串开头,我就不需要它。
我希望在方括号内找到这个词,并获得这些词的唯一列表。
我想选择所有[XYZ]的不同列表。例如,在上面的列表中,查询应返回以下字符串列表:
它是子串逻辑和不同查询的组合。逻辑可能像找到第一个[和第一个]的索引,并从列表中获取字符串,创建一个唯一列表。我发现几乎不可能在一个MySQL查询中编写它。获取该列表的查询是什么?
答案 0 :(得分:1)
如果我理解正确,你有一个包含名为Title的字段的表。标题可能以您要查找的字符串开头,如果它以字符串开头,您只需要它。您还希望结果是截然不同的。
此查询将执行此操作。
SELECT Issue, Website, Tracker FROM `Issues` Where distinct(Title) LIKE '[SOMETHING]%'
答案 1 :(得分:1)
在这种情况下,我会尝试:
select distinct `Match` from (SELECT MID(Title,instr(Title,'[') + 1,instr(Title,']') - instr(Title,'[') -1) As 'New_Title'
FROM Issues u Where instr(Title,'[') > 0 AND instr(Title,']') > instr((Title),'[')) tbl
对不起,这花了这么长时间,我不得不弄清楚如何返回字符串。
答案 2 :(得分:0)
SELECT distinct(当标题REGEXP'^ [[]'时的情况) concat(substring_index(title,']',1),']')end)作为标题 从test.issue我 标题REGEXP'^ [[]';