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 '小红')