Mysql 按字段中的子字符串分组
我有一个cities表,其中有citynames,如“Los Angeles(California)” 我试图通过一个请求提取两篇论文之间包含的所有值,但我无法很好地做到这一点 我尝试的请求如下所示:Mysql 按字段中的子字符串分组,mysql,sql,group-by,substring,Mysql,Sql,Group By,Substring,我有一个cities表,其中有citynames,如“Los Angeles(California)” 我试图通过一个请求提取两篇论文之间包含的所有值,但我无法很好地做到这一点 我尝试的请求如下所示: SELECT cityname FROM cities WHERE cityname LIKE "%(%)%" GROUP BY SUBSTR(cityname, FIND_IN_SET(cityname, '(')) 或者类似(没有分组方式): 这些请求似乎有什么问题?请尝试以下操作: SE
SELECT cityname FROM cities WHERE cityname LIKE "%(%)%"
GROUP BY SUBSTR(cityname, FIND_IN_SET(cityname, '('))
或者类似(没有分组方式):
这些请求似乎有什么问题?请尝试以下操作:
SELECT SUBSTRING(cityname, CHARINDEX('(',cityname)+1,
(LEN(cityname) - CHARINDEX('(',cityname)-1))
FROM cities WHERE cityname LIKE '(%)%'
谢谢你的建议。我编辑了我的第一篇文章,因为我忘记了我使用的mySQL不识别CHARINDEX函数:(那没关系!我用LOCATE替换了CHARINDEX,用LEN替换了LEN,我似乎工作得很好!谢谢!
SELECT SUBSTRING(cityname, CHARINDEX('(',cityname)+1,
(LEN(cityname) - CHARINDEX('(',cityname)-1))
FROM cities WHERE cityname LIKE '(%)%'