分组后group_concat如何取到对应位置的数据

分组后group_concat如何取到对应位置的数据
LuckyTigerLOCATE 函数
用于查找字符串中某一字符串的位置。语法格式为:
1 | LOCATE(substr,str) |
LEFT函数
用于从字符串左侧开始截取指定长度的字符串
1 | LEFT(str,len) |
LENGTH函数
用于获取字符串长度
1 | LENGTH(str) |
REPLACE函数
用于替换字符串中某一部分
1 | REPLACE(str,old_str,new_str) |
自定义函数str_split_int05
主要用于获取例如‘5;7;3’,这种使用某一个字符分割的字符串指定位置的数据,创建如下:
1 | CREATE DEFINER=`skip-grants user`@`skip-grants host` FUNCTION `str_split_int05`( |
使用如下:
index 传正数为从左数第几个,传负数为右数第几个
1 | str_split_int05(index,str,char) |
group后怎么对两个group_concat取的数据取到对应位置的数据
准备测试数据
1 | create table text |
思路
1.使用LOCATE函数先查出 郝晨璐 在name 中位置
2.使用LEFT函数截取左侧字符
3.截取的字符串长度-去除掉, 的长度为实际下标
4.使用str_split_int05 获取指定位置
1 |
|
注意str_split_int05 的index 下标从开始,所以需要加
1 |
|
评论
匿名评论隐私政策