最近遇到了这样的一个问题,在无限极分类表中,需要根据第一级获取第三级,跳过第二级,但是数据表又没有级别这个字段,不过有父id_list字段,如:pid_list:0,1,10,35,这下该怎么办呢

    经过搜索发现了这样一段代码

    1. select length(field1)-length(replace(field1,'#','')) from test;

    诶,这不就是了嘛
    然后就有了下面的sql

    1. select * from category where find_in_set('1',pid_list) and length(pid_list)-length(replace(pid_list,",","")) = 2;

    查询 pid_list 里面含有 id=1 的数据 并且 pid_list 字段 有两个 逗号(,)的数据不就是第三级了嘛

    这里简单理解一下
    其实就是 把这个字段的某个字符替换成空字符 ,然后用 替换之前的总长度 减去 替换后的长度 就是替换了的次数,也就是这个字符出现的次数

    哈哈,真的恍然大悟啊