mysql模糊多次OR查询某一个字段,针对这个字段进行查询分组
一. 需求
有一个mysql表t_test,有两个字段className和studentStr
 
 其中studentStr会用来模糊查询
 
 假如现在有6条数据
 
 1.studentStr字段数据:“小明,小红,小同,小芳,小特,小兰”
 
 2.studentStr字段数据:“小明,小红,小同”
 
 3.studentStr字段数据:“小芳,小特,小兰”
 
 4.studentStr字段数据:“小同,小芳”
 
 5.studentStr字段数据:“小明,小红”
 
 6.studentStr字段数据:“小特,小兰”
 
 有以下sql语句
 
 select * from t_test where studentStr like  '小明' or studentStr like '小红'
 
 这边studentStr like可能会有多条,我希望studentStr like匹配到一样的只返回其中一条就好
 
 比如模糊查询 ”小明“ ”小红“ ,上面 1,2,5条数据都有,只需要返回其中一条就好
二.后面发现group by 是可以写 llke模糊查询的,用下面方式就行
select * from t_test where studentStr like  '小明' or studentStr like '小红' group by (studentStr like  '小明'),(studentStr like '小红')