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

你可能感兴趣的:(mysql,数据库)