表1
字段 id class riq h1 y1 c1
1 1 0521 345
2 2 0521 437235
3 2 0521 132314
4 2 0521 334245
5 2 0521 535215
6 2 0521 732224
7 2 0521 833218
8 3 0520 432215
9 3 0520 432215
10 3 0520 432215
11 3 0520 432215单行比对也就是用 如果class=1加上riq=0521 提取字段h1的字符串‘345’并分割成‘3’‘4’‘5’去和
class=2加上riq=0521的 所有y1行内字符串 进行比较 比较结果相加,看y1内包‘3’‘4’‘5’有几个 结果就写入c1字段内
现在我实现了红色字的步骤
代码SELECT sum(if('354254' rlike substring('345',1,1),1,0))+
sum(if('354254' rlike substring('345',2,1),1,0))+
sum(if('354254' rlike substring('345',3,1),1,0))
现在就是问 怎么一次性 给表内 所有符合条件class=1加上riq=0521的行 进行比较,这样 sql语句就只运行一次就ok了,不然的话有多少class=1加上riq=0521的行就要运行很多次 这样麻烦。
sum(if(y1 rlike substring('345',2,1),1,0))+
sum(if(y1 rlike substring('345',3,1),1,0))
from tb
有会的 说下吧 谢谢了