表A
id name
1 abcb
2 abcbfbe
3 abbe
查询name字段含有b的个数
select (length(name)-length(replace(name,'b','')))/length('b') from A
结果
2
3
2
同理当我们需要按照某个字段里含指定字符串的个数排序时,把上面的公式放到order by后既可以
select * from A order by (length(name)-length(replace(name,'b','')))/length('b')
注:
就是运用数学公式的算法直接到sql里。可以引申出其他类似用法。不过对于这种不知性能会怎样?
id name
1 abcb
2 abcbfbe
3 abbe
查询name字段含有b的个数
select (length(name)-length(replace(name,'b','')))/length('b') from A
结果
2
3
2
同理当我们需要按照某个字段里含指定字符串的个数排序时,把上面的公式放到order by后既可以
select * from A order by (length(name)-length(replace(name,'b','')))/length('b')
注:
就是运用数学公式的算法直接到sql里。可以引申出其他类似用法。不过对于这种不知性能会怎样?