mysql - Mysql中2个字符之间的不同路径

标签 mysql

我有一列“路径” - 有效路径如下所示:
“PAGE:StackOverflow:SystemOfReptation:HowTo”

“COOKBOOK:很棒:Cookie”

我需要区分第一部分中的所有名称。
所以我有一个像这样的列表:

Sections:  
1. PAGE  
2. COOKBOOK 

我需要区分特殊第一部分的第二部分中的所有名称。
就像“PAGE”第一部分一样:

Section of "PAGE"

1 .StackOverflow

我完全不知道如何做到这一点,Mysql 中是否有类似 Regex 的东西可以用于此目的?

感谢您的帮助

最佳答案

要获取第一部分的不同列表,可以使用MySQL函数 substring_index

SELECT DISTINCT(SUBSTRING_INDEX(PATH, ':', 1)) SECTIONS
FROM MY_TABLE

这将返回“:”后面所有内容的不同列表。请注意,如果 PATH 中没有“:”,则会完整返回。 如果需要,您可以添加一个 where 子句,例如:

WHERE INSTR(PATH, ":") <> 0

instr() 函数将返回第一次出现的位置。

最后,您可以使用上述查询作为子查询来连接同一个表,以提取路径的第二层。

关于mysql - Mysql中2个字符之间的不同路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070177/

相关文章:

php - 统计一些有限的单词并显示它们与他们的名字相对应

mysql - 从查询中排除结果

MYSQL - 仅当两个表都有条目时才显示结果

mysql - Laravel - 当前用户的总和

php - 将项目发送到垃圾箱

php - 使用 NodeJS 使用数据库进行实时实时更新 View

android - 插入 HH :mm:ss from Android to MySql

MySQL命令行字符

MySQL 请求 COUNT 问题

mysql - 运行简单 mysql 查询时出错